2014-01-07 61 views
3

我使用gradle(v1.10)中的應用程序插件打包並運行我的應用程序。Gradle應用程序插件:如何使用-javaagent選項運行jvm應用程序?

所以,現在我需要使用方面(aspectj),我不想使用aspectj編譯器(ajc)。

是否可以調整gradle應用程序運行腳本,所以我的應用程序可以使用加載時織入運行?喜歡的東西提供JVM選項:

-javaagent:_path_to_aspectj_weaver.jar

回答

1

是的,這樣做了這樣的:

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

該方法適用於distTar任務,但不知何故也執行在運行任務導致\ $ APP_HOME無法解析並阻止運行./gradlew運行 –

相關問題