【问题标题】:Gradle to pack resources with class files in jarGradle 用 jar 中的类文件打包资源
【发布时间】:2016-01-29 17:11:42
【问题描述】:

使用 maven pom 在构建配置中具有此功能,我们正在构建一个 jar 文件,该文件在类文件附近的包中包含资源文件(在我的情况下这是必要的,因为某些类文件依赖于配置的约定并期望这些资源文件是就在他们旁边)。

<build>
    ...
    <resources>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.fxml</include>
                <include>**/*.css</include>
                <include>**/*.properties</include>
            </includes>
        </resource>
        <resource>
            <directory>src/main/resources</directory>
            <includes>
                <include>**/*.xml</include>
                <include>**/*.css</include>
                <include>**/*.properties</include>
            </includes>
        </resource>
    </resources>
    ...
</build>

我们如何用 gradle 做同样的事情?

【问题讨论】:

    标签: java maven gradle


    【解决方案1】:

    您需要添加以下代码:

    apply plugin: 'java'
    
    jar {
       from('src/main/java') {
          include  '**/*.properties'
          include  '**/*.xml'
          include  '**/*.css'
       }
    }
    

    它的工作方式如下:

    ➜  33416293 git:(master) ✗ tree   
    .
    ├── build.gradle
    └── src
        └── main
            └── java
                └── lol
                    ├── Lol.java
                    ├── lol.css
                    ├── lol.properties
                    └── lol.xml
    
    4 directories, 5 files
    ➜  33416293 git:(master) ✗ gradle jar   
    :compileJava
    :processResources UP-TO-DATE
    :classes
    :jar
    
    BUILD SUCCESSFUL
    
    Total time: 3.035 secs
    ➜  33416293 git:(master) ✗ jar -tvf build/libs/33416293.jar 
         0 Thu Oct 29 15:55:40 CET 2015 META-INF/
        25 Thu Oct 29 15:55:40 CET 2015 META-INF/MANIFEST.MF
         0 Thu Oct 29 15:55:40 CET 2015 lol/
       242 Thu Oct 29 15:55:40 CET 2015 lol/Lol.class
         8 Thu Oct 29 15:51:28 CET 2015 lol/lol.css
         9 Thu Oct 29 15:47:00 CET 2015 lol/lol.properties
        15 Thu Oct 29 15:51:22 CET 2015 lol/lol.xml
    ➜  33416293 git:(master) ✗ 
    

    在这里你可以找到demo

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-24
      • 1970-01-01
      • 2018-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-05
      • 2012-02-23
      相关资源
      最近更新 更多