У меня есть java-проект с 10 файлами.java. A1.java, A2.java...... A9.java и Main.java. Я должен создать и запустить этот проект в среде UNIX. Все 10 файлов.java находятся внутри пакета grand.big.medium.small. Чтобы скомпилировать java файл, зайдите в папку grand/big/medium/small и введите команду:
javac *.java
Все файлы скомпилированы и все файлы.class создаются в текущей папке, также я получаю следующее сообщение:
Note: A4.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: A4.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Теперь я запускаю Main.class:
java -classpath . Main
и я получаю сообщение об ошибке:
Error: Could not find or load main class Main
Я новичок в Unix и мало знаю об этом, может ли кто-нибудь сказать, что я делаю неправильно. Просто добавлю, у меня есть 3 версии Java
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-8-oracle/jre/bin/java 1072 auto mode
1 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 1061 manual mode
2 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 manual mode
* 3 /usr/lib/jvm/java-8-oracle/jre/bin/java 1072 manual mode
Press enter to keep the current choice[*], or type selection number:
и я использую Java 8.
После компиляции перейдите к папке, содержащей корень вашего пакета (который является grand
grand.big.medium.small
), затем вы используете
java -cp . grand.big.medium.small.Main
Используйте правильный класс классов и полный класс основного класса, как показано ниже:
java -classpath ../../..:. grand.big.medium.small.Main