2017-01-28 8 views
0

Я не могу запустить следующую программу из командной строки обычным способом:Запуск этого из командной строки в Java

package animal_package; 

public class my_animal { 

    public static void main(String[] args) { 

     System.out.println("Hello animal"); 
    } 
} 

Э.Г. из командной строки: Я хожу в "D:\Java\src\animal_package" где моя Java программа и скомпилировать:

D:\Java\src\animal_package>javac my_animal.java 
D:\Java\src\animal_package>java my_animal 
Error: Could not find or load main class my_animal.java 

Я смотрел на Google и пришли вокруг проблемы пути класса, но не может сделать никакого смысла от всего этого.

Какая командная строка будет верна в моем случае?

ответ

2

cd .. затем java -cp . animal_package.my_animal. Пакет частьполное имя класса. Или,

java -cp .. animal_package.my_animal 
+0

Что такое '..' здесь? он волшебным образом работает. – user963241

+0

@ user963241 ** родительская папка ** текущей папки *. То же, что использование 'cd ..' (но без изменения текущей папки *). –

+0

Ах, папка 'src' права. Поэтому, установив его только тогда, я могу сказать «animal_package.my_animal», и он получит правильный путь, не так ли? – user963241

3

Для компиляции:

javac my_animal.java 

Для запуска (из каталога ЦСИ):

java animal_package.my_animal 
+0

Он работает от 'src', но как я могу заставить его работать из каталога, где были скомпилированы' .java' и '.class'? – user963241

+1

Только удалив декларацию пакета. –

+0

Объявление пакета из моего исходного файла? – user963241

1

Вы можете скомпилировать класс либо из каталога Src с помощью: Javac animal_package \ my_animal.java ИЛИ из animal_package каталога с помощью: Javac my_animal.java

Для запуска программы использования каталога Src java animal_package.my_animal ИЛИ java -cp. animal_package.my_animal

+0

в ответе недостаточно ясно указано, что исполняемый мут 'java' вызывается из папки' D: \ Java \ src', а не из папки пакета. Пожалуйста, рассмотрите [edit] (http://stackoverflow.com/posts/41385887/edit), что в. –