从命令行运行WAR文件

时间:2016-07-07 11:13:58

标签: java maven amazon-web-services jersey

我用java和jersey创建了一个Web服务器。我也用MAVEN。我可以使用此命令从命令行运行项目

mvn clean verify org.codehaus.cargo:cargo-maven2-plugin:run

我的问题是我想在Amazon aws Elastic Beanstalk中将项目部署为java应用程序。我必须在那里上传代码,亚马逊将使用此命令执行它

java -jar mywar.war

如果我尝试使用此命令在本地运行我的项目,则会出现此错误

no main manifest attribute, in project.war

所以我认为这就是为什么项目在Beanstalk中运行不正常的原因。是否可以使用此java命令运行我的项目,或者我必须使用mvn命令?

3 个答案:

答案 0 :(得分:0)

这是因为你的专家正在使用货物插件。如果要像常规Java应用程序那样从命令行运行它,则需要启动Jetty或Tomcat或者在嵌入模式下使用的任何内容。这是一个描述如何从应用程序启动Jetty的链接。

http://www.eclipse.org/jetty/documentation/9.4.x/embedded-examples.html

答案 1 :(得分:0)

Beanstalk似乎提供了Tomcat

答案 2 :(得分:0)

尝试打开您生成的war文件中的清单文件,很可能它缺少Main-Classinformation。包含以下内容的清单文件示例:

Manifest-Version: 1.0
Main-Class: org.xxx.xxx.

您可以尝试在pom文件下的maven插件配置中添加主文件信息。像这样:

  <plugin>
    ...

    <configuration>
      <archive>
        <manifest>
          <addClasspath>true</addClasspath>
          <mainClass>fully.qualified.MainClass</mainClass>
        </manifest>
      </archive>
    ...
  </plugin>