2015-01-12 2 views
0

У меня есть Java-приложение с maven, он строит все зависимости в целевой папке, теперь я пытаюсь запустить этот файл jar из Linux, его давая ошибку как command-java - баночка yourApp.jar argument1Как запустить Jar-файл в Linux/Windows

Error- no main manifest attribute, in yourApp.jar 

после делать некоторые Google я выбежала команда, как недо-

java -cp yourApp.jar my.pack.testpack.MyMainClass "argument1" 

теперь его подачи error-

Caused by: java.lang.ClassNotFoundException: my.pack.testpack.common.components.logger.LoggerFactory 

Я удивлен, почему эта проблема придет, если эта проблема возникнет, тогда она должна появиться во время выполнения при запуске из eclipse при работе от работы eclipse, также я проверил файл jar, который я использую, связав это файл класса.

Пожалуйста, помогите

+0

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

ответ

-2

В окнах CMD: java -jar(file name) убедитесь, что вы указываете путь к вашей JDK установки

MyComputer, свойства среды настройки среды, и убедитесь, что у вас есть переменная «путь», если есть не , сделать и сделать "значение" быть путь папки JDK бен, т.е. C:/Program Files/Java /.../ бен

в Linux:

java -jar <filename> 

настройки ява путь в Linux: Войти в свой аккаунт и открыть файл .bash_profile

$ vi ~/.bash_profile 

Набор JAVA_HOME следующим образом, используя синтаксис экспорта JAVA_HOME =. Если ваш путь установлен в /usr/java/jdk1.5.0_07/bin/java, установите его следующим образом:

export JAVA_HOME=/usr/java/jdk1.5.0_07/bin/java 

Установить PATH следующим образом:

export PATH=$PATH:/usr/java/jdk1.5.0_07/bin 
+1

Это не проблема пользователей. Он не упаковал банку правильно, поэтому он не может найти главный класс. –

+1

все пути уже установлены, пожалуйста, уточните во время работы также нужно указать с помощью команды, я хотел бы запросить Пожалуйста, не давайте обобщенный ответ, объясните в каком-то примере, я считаю, что я уже объяснил, что я сделал, спасибо –

1

Вы должны указать все ваши зависимостей в пути класса команды java.

Другой вариант - указать их в манифесте. Используйте помощь Use of the MANIFEST.MF file in Java.

+0

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

+0

Как они связаны? Банки внутри банки, или вы распаковываете все классы библиотек и собираете их в банке вместе со своими классами? –

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