使用类路径从命令行运行JAVA war文件以启动API

时间:2018-09-15 09:56:44

标签: java api heroku classpath

在ive与maven打包后,我在从命令行运行Java api war文件时遇到了大问题。

我正尝试使用以下命令从我的war文件所在的目标文件夹中运行它。

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

我的heroku主类位于路径..\Silverkissen-API\target\classes\se\consys\silverkissen\heroku\Main.class

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

在jar / war所在的位置打开命令提示符  然后在命令下运行

java -jar silverkissen.war

答案 1 :(得分:0)

主要问题很可能是因为类文件未合并到silverkissen.war文件中。意味着Main文件本身没有war函数。或者说输入功能在其他地方。

或者它以某种神秘的方式打包,这超出了我的理解,是针对Maven,heroku等的。

但是,假设您站在项目根目录结构中,通常在target文件夹,通常srctarget和{{1} pom.xml。我会尝试运行以下内容:

system.properties

如果您使用的是Windows,则为:

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

要做到这一点。这将在运行时使用类路径执行项目。假设我对Java的有限了解是正确的。

有更多经验的人可以详细解释为什么这样做。