jvm - Gradle 应用程序插件 : How can I run jvm application with -javaagent options?

标签 jvm gradle aspectj javaagents

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

关于jvm - Gradle 应用程序插件 : How can I run jvm application with -javaagent options?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20968465/

相关文章:

不同操作系统下的 Java 程序效率

java - 在哪里可以找到 Spring Boot 指标的描述?

java - 当 JRockit Console 窗口打开时,ColdFusion Java 堆工作正常,但当 JRockit Console 关闭时,内存使用量会急剧上升然后崩溃

spring-boot - 在Kotlin/Spring Boot中使用Gradle属性扩展

java - Spring - 使用@Configurable 和@Value 注释用新运算符创建对象

java - AspectJ ITD : implementing a generic interface

java - Mac 上找不到 jvm 路径

build - 使用最新的稳定Gradle版本创建Gradle包装器

eclipse - 如何使用 eclipse 将我的 gradle web 应用程序部署到 tomcat

java - 根据运行时条件启用Aspect代理,Spring AOP?