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