【问题标题】:Modifying startup script for tomcat deployment using Maven使用Maven修改tomcat部署的启动脚本
【发布时间】:2013-01-17 07:07:58
【问题描述】:

我正在使用一个分析工具,当我启动 Tomcat 时会加载该工具,并将应用程序 war 文件放置在 webapps 目录中。因此,一旦我运行启动,我的类就会被检测并且一切正常。

但是为此,我将生成的 war 文件作为 maven 安装的一部分(它下载 tomcat 并在其中部署 war 文件),并将其放置在我手动下载的另一个 tomcat 中。然后我需要在 catalin.bat 文件中进行一些编辑,将 JAVA_OPTS 属性设置为 javaagent 以便它在启动时启动。

我想做的是,设置该工具并将其与 maven 集成,以便在全新安装时,检测类并开始运行分析工具。我相信我们可以在 pom.xml 中做一些配置更改来实现这一点?在这方面的任何帮助将不胜感激!谢谢

【问题讨论】:

    标签: java maven tomcat catalina java-opts


    【解决方案1】:

    这只是您需要的一部分,但您应该以不同的方式配置您的 tomcat - 也许这可以充分简化您的任务,您将能够自己解决其余的问题:

    您不需要更新catalina.bat - 而是在同一目录中创建一个名为setenv.bat 的文件:它不包含在tomcat中,但如果它在那里,它将在tomcat启动/关闭时考虑在内.

    关于启动/关闭:您在此文件中设置的 JAVA_OPTS 将用于启动和关闭(当 tomcat 关闭时会启动一个 java 进程,运行一段时间)。如果您有大量内存需求,分配 JMX 端口等,这些将适用于两个进程,因此可能会发生冲突。您宁愿设置 CATALINA_OPTS - 这只是用于启动 tomcat,而不是用于关闭它。

    所以,setenv.bat 的典型内容是

    SET CATALINA_OPTS="-DyourSettings -DwhateverYouLike"
    

    顺便说一句,setenv.sh 在其他平台上也是如此

    【讨论】:

    • 感谢您的意见。关于如何将它与 Maven 集成的任何想法?喜欢在 pom.xml 中添加一些配置值?
    猜你喜欢
    • 1970-01-01
    • 2020-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-17
    • 2015-02-05
    • 2011-12-06
    • 2014-11-10
    相关资源
    最近更新 更多