Gradle 应用程序插件:如何使用 -javaagent 选项运行 jvm 应用程序



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

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

是否可以调整 gradle 应用程序运行脚本,以便我的应用程序可以通过加载时间编织运行?类似于提供 jvm 选项:

-javaagent:_path_to_aspectj_weaver.jar

是的,是这样做的:

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
        }
    }
}

相关内容

最新更新