2013-10-09 5 views
-1

Я написал программу HelloWorld.java и сохранен в папке (пакете) с именем test, которая включает в себя папку hello. и все в моей рабочей области.Как получить доступ к пакетам?

Я имею в виду так: d:\workspace\test\hello\HellWorld.java
И я вошел в d:\workspace в моей среде путь, мой код:

package test.hello; 
public class HelloWorld 
{ 
public static void main(String[] args) 
    { 
     System.out.println("HelloAll"); 
    } 
} 

Когда я иду в каталог привет в CMD и компилировать HelloWorld.java все нормально и сделано. но как я использую java HelloWorld (in d:\workspace\test\hello) Я получаю исключение в основной ошибке потока.

Можете ли вы помочь мне с этим простым вопросом?

+1

"я получаю Exeption в нити главной ошибкой" - Что это точное сообщение об ошибке? Он содержит важную информацию о том, что не так. – Jesper

+0

Exepction in thread "main" java.lang.NoClassDefFoundError: HelloWorld <неправильное имя test \ hello \ HelloWorld –

ответ

1

в CMD окна выходят d: \ рабочее место и выполнить следующую команду CMD

d:>workspace>java test.hello.HelloWorld

+0

Я знаю это .. но я хочу позвонить HelloWorld без объявления определенного каталога! как я могу это сделать? все верно ?! Я хочу, чтобы как я набрал java HelloWorld, это руны. –

+3

@ user2857832 Это невозможно, если вы хотите запустить класс, который имеет основной метод, тогда вы должны указать его полное имя, включая пакет. Если вы не определяете класс в пакете по умолчанию, в этом случае полное имя является самим именем класса, но это обескураживает. – A4L

+0

u означает, что если я пишу класс, который не содержит основного метода и компилируется, тогда я могу запустить его без конкретной директории? –

1

кд в D: \ Рабочая область

компилировать using-

javac -d . HelloWorld.java

выше создаст пакет структуры.

Run using-

java test.hello.HelloWorld

+0

Я только что сделал пакеты b4 написание кода ... :-D –

1

Вы должны использовать java команду из исходного каталога, т.е. d:\workspace, как указано здесь:

java test.hello.HelloWorld 

Синтаксис прост, просто перейдите в каталог с исходным кодом и а не каталог пакета. Используйте имя класса вместе с полным именем пакета.

+0

Я знаю это .. но я хочу позвонить HelloWorld без объявления конкретных каталог! Как я могу это сделать? все верно ?! Я хочу, чтобы, когда я набрал java HelloWorld, он запускает –

+0

@ The.Only.One Вы не можете запускать Java-класс без имени пакета, кроме если он присутствует в pacakge по умолчанию. Причина проста: у вас может быть несколько классов с одинаковым именем, но в разных пакетах. –

2

Чтобы запустить его, вы должны использовать полное имя своего класса.

Встаньте d:\workspace\

Run:

java test.hello.HelloWorld 
+0

Я знаю это ... но я хочу позвонить HelloWorld без объявления определенного каталога! Как я могу это сделать? все верно ?! Я хочу, чтобы, когда я набрал java HelloWorld, он запускает –

+0

@ user2857832 Затем вам нужно удалить «package test.hello;» в HelloWorld.java. Вы не можете этого сделать, когда HelloWorld является частью определенного пакета. – nos

Смежные вопросы