Запустите файл JAVA war из командной строки с classpath, чтобы запустить API - PullRequest
0 голосов
/ 15 сентября 2018

У меня большие проблемы с запуском моего файла java api war из командной строки после того, как я упаковал его в maven.

Я пытаюсь запустить его с помощью следующей команды из целевой папки, где находится моя войнафайл находится.

java -cp silverkissen.war se/consys/silverkissen/heroku/Main

И много других вариантов, но я просто получаю

Error: Can't find or load main class se/consys/silverkissen/heroku/Main

Мой военный файл лежит в пути ..\Silverkissen-API\target\silverkissen.war

Мой главный геройский класслежит в пути ..\Silverkissen-API\target\classes\se\consys\silverkissen\heroku\Main.class

благодарен за любую помощь.

Ответы [ 2 ]

0 голосов
/ 20 сентября 2018

Основная проблема, скорее всего, связана с тем, что файлы классов не включены в файл silverkissen.war.Это означает, что в самом файле war нет функции Main.Или что функция входа - это что-то еще.

Или что она упакована каким-то таинственным образом, который за пределами моего понимания специфичен для maven, heroku и т. Д.

Но при условии, что вы 'Вы находитесь в корневой структуре проекта, на один уровень выше папки target, обычно там, где обычно находятся src, target, pom.xml и system.properties.Я бы попробовал выполнить следующее:

java -cp target/classes:target/dependency/* se.consys.silverkissen.heroku.Main

И если бы вы работали в Windows, это было бы:

java -cp target\classes;target\dependency\* se.consys.silverkissen.heroku.Main

Это должно сделать это.Это выполнит ваш проект с указанием пути к классу во время выполнения.Предполагая, что мои ограниченные знания Java верны.

Кто-то с большим опытом может объяснить подробно, почему это будет работать.

0 голосов
/ 15 сентября 2018

Откройте командную строку в том месте, где находится ваш jar / war, а затем выполните команду ниже

java -jar silverkissen.war

...