grails - Gradle-仅在生产时从依赖项中排除jar

标签 grails gradle build.gradle grails-3.1

我将使用gradle assemble部署Grails 3网络应用程序以创建war文件,并且我试图从中排除一些jar文件。

特别是我在build.gradle配置文件中添加了

dependencies {
    [...]
    assets 'com.bertramlabs.plugins:sass-asset-pipeline:2.7.2'
}

这些是上述插件的内部依赖关系,可帮助我将SASS文件处理为CSS
 \--- com.bertramlabs.plugins:sass-asset-pipeline:2.7.2
      +--- com.bertramlabs.plugins:asset-pipeline-core:2.7.2
      |    +--- org.mozilla:rhino:1.7R4
      |    +--- com.google.javascript:closure-compiler:v20151015
      |    \--- commons-logging:commons-logging:1.1.1
      +--- log4j:log4j:1.2.17
      +--- org.jruby:jruby-complete:1.7.11 -> 1.7.18
      \--- com.bertramlabs.plugins:jruby-container:0.6.1
           \--- org.jruby:jruby-complete:1.7.18

我排除了org.ruby组,因为jar为22MB,并且在生产中不需要,因为assemble任务已经 bundle 了我的CSS资源。
configurations {
    compile.exclude group: 'org.jruby'
    [...]
}

这适用于生产环境,但是开发需要依赖项。

有没有一种快速的方法来实现这一目标?提前致谢!

最佳答案

我还没有测试。在build.gradle的依赖项中

if (!project.hasProperty('grailsEnv') || project.grailsEnv.equals('dev')) { compile.exclude group: 'org.jruby' }

关于grails - Gradle-仅在生产时从依赖项中排除jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35924375/

相关文章:

sql - 使用两个类中的 where 子句连接 Grails 获取查询结果

grails - Grails-自定义Flash.message渲染

android - 在Gradle中解决React-Native的重复依赖项

spring - 客户端 check out 连接的尝试已超时

gradle - Gradle:如何为指定的输入文件运行任务?

grails - 在一个servlet容器中部署的Grails应用程序的不同日志文件

grails - Grails Controller 中的Spring Security自定义权限

c++ - 适用于 C++ 的其他包含路径和链接器选项 Gradle

gradle - 从单个 src/main/java 文件夹 : GRADLE Project 创建多个库 [每个用于一个包]

gradle - 分布ZIP中的多项目Gradle重复依赖项