Gradle:如何在编译后但将文件打包到Jar中之前添加自定义任务?

Hongyi Li

我的build.gradle当前是:

project(':rss-middletier') {
    apply plugin: 'java'

    dependencies {
        compile project(':rss-core')
        compile 'asm:asm-all:3.2'
        compile 'com.sun.jersey:jersey-server:1.9.1'
        compile group: 'org.javalite', name: 'activejdbc', version: '1.4.9'
    }

    jar {
        from(configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }) {
            exclude "META-INF/*.SF"
            exclude "META-INF/*.DSA"
            exclude "META-INF/*.RSA"
        }
        manifest { attributes 'Main-Class': 
'com.netflix.recipes.rss.server.MiddleTierServer' }
    }
}

但是,与其将这些编译后的类直接包装到jar中,不如通过运行以下任务首先对其进行检测:

task instrument(dependsOn: 'build', type: JavaExec) {
    main = 'org.javalite.instrumentation.Main'
    classpath = buildscript.configurations.classpath
    classpath += project(':rss-middletier').sourceSets.main.runtimeClasspath
    jvmArgs '-DoutputDirectory=' + project(':rss-middletier').sourceSets
        .main.output.classesDir.getPath()
}

只有在我检测了这些类之后,我才想将它们打包到一个JAR文件中。有没有一种方法可以使我在包装之前进行此检测?

非常感谢!!!

Hongyi Li

终于想出了办法!

task instrument(type: JavaExec) {
    //your instrumentation task steps here
}
compileJava.doLast {
    tasks.instrument.execute()
}
jar {
    //whatever jar actions you need to do
}

希望这可以防止其他人在几天内陷入这个问题:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在自定义WAR任务中强制Gradle覆盖资源文件?

来自分类Dev

如何在具有178.000行的文件中的IP之前添加自定义字符?

来自分类Dev

如何在具有178.000行的文件中的IP之前添加自定义字符?

来自分类Dev

Gradle将资源与类文件打包到jar中

来自分类Dev

如何创建自定义打包任务以在SBT中打包类的子集

来自分类Dev

在自定义 gradle 插件中,如何添加任务取决于其他插件中定义的任务?

来自分类Dev

Magento 2:如何在 CMS 页面中的正文标记结束之前添加自定义 js 文件

来自分类Dev

如何仅列出 Gradle 构建文件中的自定义任务?

来自分类Dev

如何在将 DTO 发送到客户端之前添加自定义逻辑?

来自分类Dev

在自定义gradle插件中从jar复制文件

来自分类Dev

是否可以在编译过程中添加自定义路由?

来自分类Dev

如何在自定义清除任务中排除文件?

来自分类Dev

如何在 Magnolia 中 Pulse 的任务部分添加自定义列

来自分类Dev

Gradle中的自定义任务/插件

来自分类Dev

Gradle中的自定义任务/插件

来自分类Dev

如何将 rtl8723be 固件内置编译到自定义 linux 内核中?

来自分类Dev

需要一个gradle jar任务来正常复制类和自定义文件

来自分类Dev

如何在sbt中实现自定义监视任务?

来自分类Dev

如何在.NET中自定义任务计划?

来自分类Dev

如何在sbt中实现自定义监视任务?

来自分类Dev

gradle自定义任务类使其无法编译

来自分类Dev

如何在Scala的Jupyter Notebook中添加自定义jar

来自分类Dev

如何在Maven中添加我的自定义jar

来自分类Dev

如何在gradle插件中添加自定义依赖项处理程序?

来自分类Dev

在Gradle中的自定义任务中运行任务

来自分类Dev

如何在C中自定义编译指示?

来自分类Dev

如何在订购后添加自定义链接并在magento的页脚中返回

来自分类Dev

使用自定义设置将存档重新打包到7z中

来自分类Dev

如何使用自定义图标将文件夹固定到Windows 7任务栏?

Related 相关文章

  1. 1

    如何在自定义WAR任务中强制Gradle覆盖资源文件?

  2. 2

    如何在具有178.000行的文件中的IP之前添加自定义字符?

  3. 3

    如何在具有178.000行的文件中的IP之前添加自定义字符?

  4. 4

    Gradle将资源与类文件打包到jar中

  5. 5

    如何创建自定义打包任务以在SBT中打包类的子集

  6. 6

    在自定义 gradle 插件中,如何添加任务取决于其他插件中定义的任务?

  7. 7

    Magento 2:如何在 CMS 页面中的正文标记结束之前添加自定义 js 文件

  8. 8

    如何仅列出 Gradle 构建文件中的自定义任务?

  9. 9

    如何在将 DTO 发送到客户端之前添加自定义逻辑?

  10. 10

    在自定义gradle插件中从jar复制文件

  11. 11

    是否可以在编译过程中添加自定义路由?

  12. 12

    如何在自定义清除任务中排除文件?

  13. 13

    如何在 Magnolia 中 Pulse 的任务部分添加自定义列

  14. 14

    Gradle中的自定义任务/插件

  15. 15

    Gradle中的自定义任务/插件

  16. 16

    如何将 rtl8723be 固件内置编译到自定义 linux 内核中?

  17. 17

    需要一个gradle jar任务来正常复制类和自定义文件

  18. 18

    如何在sbt中实现自定义监视任务?

  19. 19

    如何在.NET中自定义任务计划?

  20. 20

    如何在sbt中实现自定义监视任务?

  21. 21

    gradle自定义任务类使其无法编译

  22. 22

    如何在Scala的Jupyter Notebook中添加自定义jar

  23. 23

    如何在Maven中添加我的自定义jar

  24. 24

    如何在gradle插件中添加自定义依赖项处理程序?

  25. 25

    在Gradle中的自定义任务中运行任务

  26. 26

    如何在C中自定义编译指示?

  27. 27

    如何在订购后添加自定义链接并在magento的页脚中返回

  28. 28

    使用自定义设置将存档重新打包到7z中

  29. 29

    如何使用自定义图标将文件夹固定到Windows 7任务栏?

热门标签

归档