Я новичок в java. Я запускаю java-программы через терминал Ubuntu Я только что начал тему Java-пакета и уже несколько часов занимаюсь проблемой. Я попытался создать простой пакет под названием pack, который имеет один класс Hello. Я создал каталог. Внутри пакета я поставил каталог каталога intp pack Hello.class черезОшибка времени выполнения пакета Java
javac -d ./pack Hello.java
команда. Затем я включил пакет пакетов в класс, содержащий основной метод. Имя класса является тестом и находится в файле test.java. Этот класс находится в другом каталоге. Я скомпилирую через
javac -cp ./pack test.java
Он компилируется без ошибок и все в порядке. Однако, когда я ввожу команду
java -cp ./pack test
это дает мне
Error: Could not find or load main class test
Когда я попытался
java test
команды. Появилось следующее сообщение:
Exception in thread "main" java.lang.NoClassDefFoundError: pack/Hello
at test.main(test.java:6)
Caused by: java.lang.ClassNotFoundException: pack.Hello
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 1 more
Может кто-нибудь объяснить мне, что я делаю неправильно? Буду признателен за любую оказанную помощь.
Извините, я включил мои исходные коды. Вот они.
import pack.Hello;
public class test
{
public static void main(String args[])
{
Hello.HelloMessage();
}
}
Это файл test.java, который проверяет, все ли в порядке. Он расположен по адресу
/home/uesername/apps
Справочник.
Затем я создал каталог «pack». Полный путь к каталогу пакетов:
home/username/apps/pack
Внутри «пакета» я помещаю файл Hello.java. Содержание Hello.java файла
package pack;
public class Hello
{
public static void HelloMessage()
{
System.out.println("hello, world");
}
}
«Я создал пакет каталога. Внутри пакета я поставил файл пакета Hello.class intp pack». '-d' flag создает структуру пакета, так как вы не делаете этого самостоятельно – Ramanlfc
Можете ли вы показать исходный код. Нам нужно, по крайней мере, (от test.java) строку, начинающуюся с «package» и строки «import» s Hello. И из Hello.java нам нужна строка, начинающаяся с «package». –