【问题标题】:Set JavaAgent in Java EE Maven project on Tomcat在 Tomcat 上的 Java EE Maven 项目中设置 JavaAgent
【发布时间】:2013-07-20 14:33:18
【问题描述】:

在我在 Tomcat 上运行的 Java EE Maven Web 应用程序中,我想使用 http://sizeof.sourceforge.net 或需要 -javaagent: 调用的类似库。

使用 SO 研究,我在 pom.xml 中添加了以下内容:

  1. 实际使用 SizeOf 库:

    <dependency>
        <groupId>net.sourceforge.sizeof</groupId>
        <artifactId>SizeOf</artifactId>
        <version>0.2.1</version>
        <type>jar</type>
    </dependency>
    
  2. 进行 -javaagent 调用

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.4</version>
        <configuration>
             <forkMode>once</forkMode>
             <argLine>
                 -javaagent:"${settings.localRepository}/net/sourceforge/sizeof/SizeOf/0.2.1/SizeOf-0.2.1.jar"
             </argLine>
             <useSystemClassloader>true</useSystemClassloader>
        </configuration>
    </plugin> 
    

一切都构建得很好。当我使用 SizeOf 调用方法时,我收到错误 Instrumentation is not set,表示设置 -javaagent 失败。

感谢您的帮助。

【问题讨论】:

  • 能否请您添加“mvn -X clean install”的输出? (或您使用的任何其他 maven 调用,使用 -X。可能会有提示
  • @radai 您的问题让我阅读了 -X 输出,了解了很多内容并最终弄清楚如何获得我想要的东西。非常感谢!

标签: java maven jakarta-ee maven-surefire-plugin javaagents


【解决方案1】:

对于 Maven 和 Surefire,我是个大菜鸟。上面的配置按预期工作:它在构建时为测试设置了一个 javaagent。然而,这不是我想要的。

通过我的 Netbeans IDE,我成功地将 -javaagent 正确设置为我的 TomEE/Tomcat 服务器上的 VM 选项:

In Netbeans (OS X, 7.3): 
Tools > Servers > (your server) > Platform.
Fill in next to VM Options: -javaagent:/path/to/javaagent.jar

P.S.:Maven 解决方案会更好。如果你有,请分享。

【讨论】:

  • 在你的情况下maven是如何启动tomcat的?
  • 找到任何 maven 解决方案?
猜你喜欢
  • 2013-01-22
  • 1970-01-01
  • 2011-04-18
  • 2011-01-09
  • 1970-01-01
  • 2015-04-01
  • 2012-03-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多