【问题标题】:Pass command-line argument javaagent with maven exec plugin使用 maven exec 插件传递命令行参数 javaagent
【发布时间】:2013-03-18 02:09:15
【问题描述】:

我有一个 Java 缓存应用程序,我需要将不同大小的对象放入缓存中。问题是我真的不知道如何计算自定义对象的大小,我找到了解决方案 - 使用库:http://mvnrepository.com/artifact/com.googlecode.sizeofag/sizeofag/ 1.0.0。 要使用库运行程序,我需要指定命令行参数 -javaagent。那么,如果我使用的是maven,我该怎么做???


程序很简单:

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.


附言我知道,这样的问题已经存在,只是没有合适的答案。

【问题讨论】:

    标签: java sizeof javaagents


    【解决方案1】:

    在 Linux/Unix 机器上,“mvn”命令将使用 shell 变量“MAVEN_OPTS”来传递选项。如果你想给 Maven 更多内存,这很有用。在你的 .profile 或 .bash_profile 中加入这样一行:

    导出 MAVEN_OPTS=-javaagent

    在窗户上:

    在 shell (cmd.exe) 中键入“set MAVEN_OPTS=...”

    将 MAVEN_OPTS 添加到您的环境中

    在 NetBeans 上:

    在 ~/.netbeans/6.5/ 中,创建 etc/netbeans.conf。在那里添加你的环境变量,例如:

    导出 MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=128m"

    【讨论】:

    • 但如果我使用的是 ide(Netbeans),该怎么做? :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-07
    • 2015-06-22
    • 2011-03-26
    • 1970-01-01
    • 2014-12-25
    • 1970-01-01
    相关资源
    最近更新 更多