Я следую упражнению 1.2 подготовки к экзамену Oracle Java SE 8, который поручает мне создать основной класс GreetingsUniverse
и три класса, которые будут инициализированы основным классом; Mars
, Earth
и Venus
.Компиляция java-кода не может найти исходные файлы
У меня есть com
каталог, хранящуюся на месте: C:\Users\Chris\Documents\JavaMM
package com.ocajexam.tutorial;
import com.ocajexam.tutorial.planets.Earth;
import com.ocajexam.tutorial.planets.Venus;
import com.ocajexam.tutorial.planets.Mars;
public class GreetingsUniverse
{
public static void main (String[] args)
{
System.out.println("Greetings, Universe!");
Earth e = new Earth();
Mars m = new Mars();
Venus v = new Venus();
}
}
package com.ocajexam.tutorial.planets;
public class Mars
{
public Mars()
{
System.out.println("Hello from Mars!");
}
}
package com.ocajexam.tutorial.planets;
public class Earth
{
public Earth()
{
System.out.println("Hello from Earth!");
}
}
package com.ocajexam.tutorial.planets;
public class Venus
{
public Venus()
{
System.out.println("Hello from Venus!");
}
}
экс Цель ercise - определить аргументы командной строки, необходимые для компиляции кода.
У меня есть файл GreetingsUniverse
Java, хранящийся в com\ocajexam\tutorial\
и магазин планет в com\ocajexam\tutorial\planets
Я пробовал различные решения без успеха:
javac -d . -cp com\ocajexam\tutorial\planets com\ocajexam\tutorial\GreetingsUniverse.java
javac -d . -cp com com\ocajexam\tutorial\GreetingsUniverse.java
я получаю следующее сообщение об ошибке:
C:\Users\Chris\Documents\JavaMM>javac -d . -cp com com\ocajexam\tutorial\GreetingsUniverse.java
com\ocajexam\tutorial\GreetingsUniverse.java:8: error: cannot find symbol
Earth e = new Earth();
^
symbol: class Earth
location: class GreetingsUniverse
com\ocajexam\tutorial\GreetingsUniverse.java:8: error: cannot find symbol
Earth e = new Earth();
^
symbol: class Earth
location: class GreetingsUniverse
com\ocajexam\tutorial\GreetingsUniverse.java:9: error: cannot find symbol
Mars m = new Mars();
^
symbol: class Mars
location: class GreetingsUniverse
com\ocajexam\tutorial\GreetingsUniverse.java:9: error: cannot find symbol
Mars m = new Mars();
^
symbol: class Mars
location: class GreetingsUniverse
com\ocajexam\tutorial\GreetingsUniverse.java:10: error: cannot find symbol
Venus v = new Venus();
^
symbol: class Venus
location: class GreetingsUniverse
com\ocajexam\tutorial\GreetingsUniverse.java:10: error: cannot find symbol
Venus v = new Venus();
^
symbol: class Venus
location: class GreetingsUniverse
6 errors
Кто-нибудь знает, где я ошибаюсь?
Я также попытался следующие, производит другое сообщение об ошибке:
C:\Users\Chris\Documents\JavaMM>javac -d . com\ocajexam\tutorial\planets\Earth.java;com\ocajexam\tutorial\planets\Mars.java;com\ocajexam\tutorial\planets\Venus.java com\ocajexam\tutorial\GreetingsUniverse.java
создавшего эту ошибку:
javac: file not found: com\ocajexam\tutorial\planets\Earth.java;com\ocajexam\tutorial\planets\Mars.java;com\ocajexam\tutorial\planets\Venus.java
Usage: javac <options> <source files>
use -help for a list of possible options
Файлы, безусловно, есть, если я реж на каталог planets
я могу см. их там:
Directory of C:\Users\Chris\Documents\JavaMM\com\ocajexam\tutorial\planets
16/10/2016 11:33 <DIR> .
16/10/2016 11:33 <DIR> ..
15/10/2016 21:48 135 Earth.java
15/10/2016 21:48 132 Mars.java
15/10/2016 21:48 135 Venus.java
Обновление: После дальнейшей отладки это просто получая незнакомый ..
Я пытаюсь собрать только файлы планеты, используя первую половину команды:
javac -d . -cp com\ocajexam\tutorial\planets\*.java
Когда я просматриваю каталог планеты, только два из планеты собраны. Когда я удаляю класс java, который не компилируется, скомпилируется только 1 из файлов!
Когда я использую ту же команду, указав файл Java Я хочу, чтобы скомпилировать:
javac -d . -cp com\ocajexam\tutorial\planets\Venus.java
Я получаю следующее сообщение об ошибке:
javac: no source files
Usage: javac <options> <source files>
use -help for a list of possible options
Я не могу сделать какой-либо смысл, потому что это Venus.java
был одним из файлов, которые скомпилировались, когда я запустил команду компиляции /*.java
для обнаружения любых java-файлов в каталоге
Ваш путь к классу '.', а не' com'. – tkausl
Я также пробовал это и получал ту же ошибку. – algorhythm
'Venus.java', например, должен быть его собственным файлом. Форматирование вашего вопроса не делает это очень ясным. –