【问题标题】:How to run a main after embedded tomcat is run嵌入式tomcat运行后如何运行main
【发布时间】:2014-05-14 06:39:38
【问题描述】:

有一个带有嵌入式 tomcat 7 的 java webapp,它是用this instructions 构建的(使用 tomcat7-maven-plugin)。

这个 web 应用程序使用这样的 jar 文件启动:java -jar webapp.jar

问题:这个嵌入式tomcat启动后如何运行主类?

【问题讨论】:

    标签: java manifest maven-tomcat-plugin embedded-tomcat-7


    【解决方案1】:

    您需要设置应用程序的入口点。为此,您需要在 jar 的清单文件中配置您的主类。

    类似

    Manifest-Version: 1.0.1
    Created-By: <jdk_version>
    Main-Class: fully.qalified.class.name.with.main.method
    

    有关 Manifest 的更多详细信息,请查看this link here

    为了使这一步成为 maven 构建周期的一部分,您需要在 mave.jar.plugin 中进行一些更改。类似的东西

    <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <version>2.4</version>
    <configuration>
      <archive>
        <manifest>
        <mainClass>fully.qalified.class.name.with.main.method</mainClass>
        </manifest>
      </archive>
    </configuration>
    </plugin>
    

    最终创建的 jar 将以您的 main 方法作为应用程序入口点

    【讨论】:

    • 但清单文件中已经有这些行:Manifest-Version: 1.0 Main-Class: org.apache.tomcat.maven.runner.Tomcat7RunnerCli
    • 那么为什么不在 Tomcat7RunnerCli 中附加一个对 main 方法的调用呢?
    • 你是对的,我想我应该覆盖它。难道没有另一种方法可以在清单中显示辅助 Main-Class 吗?
    • AFAIK,将单个 main 方法用作应用程序的入口点似乎是合乎逻辑的。除此之外,您可以拥有尽可能多的主要方法!
    【解决方案2】:

    如果我正确理解了您的问题。在 Eclipse 中,右键单击项目并选择“在服务器上运行”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-11
      • 1970-01-01
      • 2016-09-17
      • 1970-01-01
      • 2019-01-08
      • 2019-03-07
      • 2020-05-12
      相关资源
      最近更新 更多