gradle (v1.10) でアプリケーション プラグインを使用して、アプリをパッケージ化して実行します。
そのため、アスペクト (aspectj) を使用する必要があり、アスペクト j コンパイラ (ajc) を使用したくありません。
gradle アプリケーションの実行スクリプトを微調整して、私のアプリを load-time-weaving で実行することは可能ですか? jvm オプションを提供するようなもの:
-javaagent:_path_to_aspectj_weaver.jar
gradle (v1.10) でアプリケーション プラグインを使用して、アプリをパッケージ化して実行します。
そのため、アスペクト (aspectj) を使用する必要があり、アスペクト j コンパイラ (ajc) を使用したくありません。
gradle アプリケーションの実行スクリプトを微調整して、私のアプリを load-time-weaving で実行することは可能ですか? 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
}
}
}