【问题标题】:Gradle Application Plugin : How can I run jvm application with -javaagent options?Gradle 应用程序插件:如何使用 -javaagent 选项运行 jvm 应用程序?
【发布时间】:2014-01-07 09:49:45
【问题描述】:

我使用 gradle (v1.10) 中的应用程序插件来打包和运行我的应用程序。

所以,现在我需要使用切面(aspectj),而我不想使用切面编译器(ajc)。

是否可以调整 gradle 应用程序运行脚本,以便我的应用程序可以使用 load-time-weaving 运行?比如提供 jvm 选项:

-javaagent:_path_to_aspectj_weaver.jar

【问题讨论】:

    标签: jvm gradle aspectj javaagents


    【解决方案1】:

    是的,就是这样完成的:

    project(':whatever') {
        apply plugin: 'application'
    
        mainClassName = 'some.Main'
        repositories { mavenCentral() } 
    
        dependencies {
            // substitute needed version of aspectj
            runtime "org.aspectj:aspectjweaver:$aspectj" 
        }
    
        applicationDefaultJvmArgs = [
            "-javaagent:\$APP_HOME/lib/aspectjweaver-${aspectj}.jar"
        ]
    
        // $ symbol gets escaped in script anyway:( so we need to replace it.
        startScripts {
            doLast {
                unixScript.text = unixScript.text.replace('\\$APP_HOME', '\$APP_HOME') 
                // do something like this for Windows scripts also
            }
        }
    }
    

    【讨论】:

    猜你喜欢
    • 2020-02-28
    • 1970-01-01
    • 1970-01-01
    • 2019-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多