使用maven exec插件传递命令行参数javaagent
我有一个Java缓存应用程序,我需要将不同大小的对象放入缓存。问题是我不知道如何计算自定义对象的大小,我找到了解决方案-使用库:http://mvnrepository.com/artifact/com.googlecode.sizeofag/sizeofag/1.0.0. 要使用库运行程序,我需要指定命令行参数-javaagent。那么,如果我使用maven,我该怎么做呢使用maven exec插件传递命令行参数javaagent,java,sizeof,javaagents,Java,Sizeof,Javaagents,我有一个Java缓存应用程序,我需要将不同大小的对象放入缓存。问题是我不知道如何计算自定义对象的大小,我找到了解决方案-使用库:http://mvnrepository.com/artifact/com.googlecode.sizeofag/sizeofag/1.0.0. 要使用库运行程序,我需要指定命令行参数-javaagent。那么,如果我使用maven,我该怎么做呢 程序很简单: protected static Boolean b; public static void main(
程序很简单:
protected static Boolean b;
public static void main( String[] args )
{
System.out.println(SizeOfAgent.sizeOf(b));
}
这是输出:
0
Can not access instrumentation environment.
Please check if jar file containing SizeOfAgent class is
specified in the java's "-javaagent" command line argument.
我知道,这样的问题已经存在,但没有正确的答案。在Linux/Unix机器上,“mvn”命令将使用shell变量“MAVEN\u OPTS”传递选项。如果你想给Maven更多的内存,这是很有用的。在您的.profile或.bash_配置文件中,在以下位置放置一行: 导出MAVEN_OPTS=-javaagent 在windows上: 在shell(cmd.exe)中键入“set MAVEN_OPTS=…” 或 将MAVEN_选项添加到您的环境中 在NetBeans上: 在~/.netbeans/6.5/中,创建etc/netbeans.conf。在此处添加您的环境变量,例如: 导出MAVEN_OPTS=“-Xmx512m-XX:MaxPermSize=128m” 但是,如果我使用的是ide(Netbeans),该如何做呢?:)