在我在Tomcat上运行的Java EE Maven web应用程序中,我想使用http://sizeof.sourceforge.net或需要-javaagent:
调用的类似库。
使用SO研究,我在pom.xml中添加了以下内容:
实际使用SizeOf库:
<dependency>
<groupId>net.sourceforge.sizeof</groupId>
<artifactId>SizeOf</artifactId>
<version>0.2.1</version>
<type>jar</type>
</dependency>
进行-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,表示设置-javaagent
失败。
感谢您的帮助。
答案 0 :(得分: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解决方案会无限好。如果您有,请分享。