Как устранить эту ошибку, вызванную: java.яз..ClassNotFoundException


Я написал консольное приложение helloworld.java и запустил javac helloworld.java, а затем java helloworld. Это сработало отлично.

Затем я создал пакет com.abc.project и переместил helloworld.java в него (правильно генерируется оператор импорта пакета, который является package com.abc.project;). А затем я запустил javac helloworld.java это также отлично сработало и сгенерировало класс должным образом.

Однако, когда я запустил java com.abc.project.helloworld из консоли, он выдал ошибку "класс не найден".

Пожалуйста, кто-нибудь может посоветовать, в чем проблема?

2 2

2 ответа:

Попробуйте запустить

java -cp ABSOLUTE_PATH com.abc.project.helloworld

Где ABSOLUTE_PATH ссылается на каталог, в котором присутствуют файлы класса вместе с пакетами. допустим, это каталог bin, в котором файлы классов генерируются вместе с той же структурой каталогов, что и исходные файлы

Во-первых, пожалуйста, назовите класс с большой буквы, как HelloWorld.java

Если вы находитесь в папке '/ myjava' в cmd и вашем .java файлы находятся в этой папке, то сделайте это в cmd

D:\\myjava\:> javac -d HelloWorld.java

Это создаст правильную структуру пакета для вас Тогда никуда не уходите из того же места, сделайте это

D:\\myjava\:>  java com.abc.project.HelloWorld

Он должен работать отлично!!