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