我在gradle(v1.10)中使用应用程序插件来打包和运行我的应用程序。
现在,我需要使用方面(aspectj),但我不想使用aspectj-compiler(ajc)。
是否可以调整gradle应用程序运行脚本,以便我的应用程序可以使用加载时编织?类似于提供jvm选项:
-javaagent:_path_to_aspectj_weaver.jar
我在gradle(v1.10)中使用应用程序插件来打包和运行我的应用程序。
现在,我需要使用方面(aspectj),但我不想使用aspectj-compiler(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
}
}
}