Java: как импортировать файл jar из командной строки


Я пытаюсь вызвать класс (основной метод) из командной строки (Windows) с Java.
Класс импортирует другие классы (другие банки).

Я всегда получаю "класс не найден исключение" из класса, который импортирует моя основная программа.

вот что я пробовал:

  • добавить путь к классу env. var с путем, где находится ссылка lib (не работает)

  • я пробовал со всеми этими различными параметрами при вызове "java -jar myjar.jar" из командной строки : "-classpath lib/","-classpath ./lib/","-classpath lib","-cp lib/*","-cp lib/*","-classpath lib/referenced-class.jar","-classpath ./lib/referenced-class.jar" (lib-это место, где находится упомянутый jar)

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

  • и со всем этим я также попытался указать классы внутри файла манифеста с помощью: Class-path referenced-jar.jar и я тоже пробовал Class-path lib/referenced-jar.jar

4 72

4 ответа:

вы можете запустить его без -jar аргумент командной строки, Если вам известно имя основного класса, который вы хотите запустить:

java -classpath .;myjar.jar;lib/referenced-class.jar my.package.MainClass

Если вы используете linux, вы должны использовать ": "вместо"; " в пути к классам.

если вы используете файл jar с java -jar на -classpath аргумент игнорируется. Вам нужно установить путь к классу в файле манифеста вашего jar, например:

Class-Path: jar1-name jar2-name directory-name/jar3-name

смотрите учебники Java:добавлять классы в jar-файл в classpath, который.

Edit: Я вижу, вы уже пытались установить путь к классу в манифесте, но вы уверены, что использовали правильный синтаксис? Если вы пропустите - : после "Class-Path " Как вы показали, это не сработает.

попробовать

java -cp "your_jar.jar:lib/referenced_jar.jar" com.your.main.Main

Если вы находитесь на Windows, вы должны использовать ; вместо :

вы можете попробовать экспортировать как "Runnable jar" в eclipse. У меня также есть проблемы, когда я экспортирую как "jar", но у меня никогда не бывает проблем, когда я экспортирую как "Runnable jar".