java - 使用 Maven 修改 tomcat 部署的启动脚本

标签 java maven tomcat catalina java-opts

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

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

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

最佳答案

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

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

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

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

SET CATALINA_OPTS="-DyourSettings -DwhateverYouLike"

顺便说一句,同样适用于其他平台上的 setenv.sh

关于java - 使用 Maven 修改 tomcat 部署的启动脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14373846/

相关文章:

java - 非域用户的 Tomcat 8 和 Windows NTLM 身份验证

jsf - com.sun.faces.config.InitFacesContext.cleanupInitMaps 中的空指针异常

java - List<Double> 使用双 [] 的 RAM?

java - 如何使用 Xpath 计算 DIV 中的 IMG 标签数量

tomcat - 使用 Maven3 Eclipse 7 Tomcat 7 出现 404 错误的 WebServlet

java - eclipse的maven插件有捆绑maven软件吗?

java - 在 Webapp 项目中使用 Tomcat 库

java : advanced inheritance to jpa

Java 覆盖提示

java - Maven : org. osgi.framework.BundleException:束中 Unresolved 约束