PATH и CLASSPATH в Windows7 7 / Eclipse - PullRequest
1 голос
/ 18 мая 2010

Итак, я хотел бы установить системные переменные PATH и CLASSPATH, чтобы я мог использовать команды javac и java в командной строке. Я могу просто скомпилировать и запустить Java-программы в Eclipse, но я также хотел бы иметь возможность запускать их через командную строку.

Здесь я установил Java:

C:\Program Files (x86)\Java
    jdk1.6.0_20
    jre6

И здесь Eclipse хранит мои Java-проекты:

D:\java-projects
    HelloWorld
        bin
            HelloWorld.class
        src
            HelloWorld.java

Я настроил переменные PATH и CLASSPATH так:

PATH: C:\Program Files (x86)\Java\jdk1.6.0_20\bin
CLASSPATH: D:\java-projects

Но это не работает. Когда я пишу:

java HelloWorld

Или:

java HelloWorld.class

Я получаю сообщение об ошибке:

Exception in thread “main” java.lang.NoClassDefFoundError: HelloWorld

Ошибка длиннее, это только первая строка.

Как я могу это исправить? В основном меня интересует возможность запуска скомпилированных программ .class из командной строки, я могу делать компиляцию в eclipse.

Ответы [ 5 ]

3 голосов
/ 18 мая 2010

Ваш путь к классу должен указывать на «D: \ java-projects \ HelloWorld \ bin».

В качестве альтернативы вы можете указать свой путь к классу с помощью параметра «-cp» вместо использования переменной среды:

java -cp D: \ java-projects \ HelloWorld \ bin HelloWorld

2 голосов
/ 18 мая 2010

Вам нужно установить classpath на

d:\java-projects\bin

В настоящее время у вас нет части "bin".

Обратите внимание, что java HelloWorld.class никогда не будет работать - это имя class , а не имя file .

1 голос
/ 19 мая 2010

Ваша переменная окружения PATH должна содержать каталог bin вашего установочного каталога JDK. Таким образом, вы должны добавить C:\Program Files (x86)\Java\jdk1.6.0_20\bin к вашему PATH.

Не рекомендуется устанавливать постоянную переменную среды CLASSPATH, потому что это глобальная настройка, которая влияет на все программы Java, которые вы запускаете на своем компьютере. Если вы не установите CLASSPATH, Java по умолчанию будет искать только текущий каталог.

Вместо установки CLASSPATH используйте параметр -cp или -classpath в команде java, например:

java -cp D:\java-projects\HelloWorld\bin HelloWorld

Если вы не хотите вводить это каждый раз, когда хотите запустить программу, поместите команду в командный файл (например, hello.bat), который затем можно будет запустить, просто набрав hello.

1 голос
/ 18 мая 2010

Ваш путь к классу должен указывать на D: / java-projects / bin

Но вместо этого я бы предложил вам использовать некоторые инструменты сборки для управления вашими проектами. Посмотрите на ANT, Maven, Gradle.

1 голос
/ 18 мая 2010

Ваш CLASSPATH не указывает на каталог, в котором находится файл class.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...