【问题标题】:Is it possible to use resource files from jar in gradle?是否可以在 gradle 中使用 jar 中的资源文件?
【发布时间】:2016-01-07 09:35:25
【问题描述】:

我想使用来自两个 jar 文件的资源文件。可能吗 ?

build.gradle

sourceSets {
    main {
        resources {
            srcDir 'src/resources'
            files('libs/myOwnFile-1.jar:src/resources')
            //add another resource jar file
        }
    }
}

这意味着,我还想从 libs/myOwnFile-1.jar 文件中包含资源文件(主要是 xml 文件)。该 jar 是由其他团队创建的,但它是另一个无法与该项目链接的项目。但是我知道资源的路径(src/resources)

jar文件下可以使用src/resources吗?

【问题讨论】:

  • 你的意思是在 gradle 脚本中还是在 gradle 管理的项目中?您能否澄清问题并添加一个示例?
  • hmm.. 抱歉@Opal 造成了混乱。我没有想那么深 :) 我在讲述我在控制台中运行的脚本(build.gradle)。我现在将编辑问题。

标签: gradle jar build build.gradle


【解决方案1】:

如果外部 JAR 包含您要使用的资源,请考虑将该 JAR 作为依赖项添加到您的项目中。这样,您也可以在自己的代码中使用这些资源。

例如,下面的代码会将 libs 文件夹中的所有 JAR 添加为依赖项:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
}

另一方面,sourceSets 属性通常用于作为项目本身一部分的源/资源(而不是另一个 JAR 的一部分)。

【讨论】:

  • 如果是这样,认为我的主项目和我包含的 jar 具有相同的文件夹结构,并且 jar 资源中的两个文件与项目中的文件名相同。哪个优先?
  • 根据一些谷歌搜索,在类路径上定义的第一个资源获得优先权。如果“主”项目已经包含此类资源,我希望这些资源优先于具有相同路径的外部资源。
猜你喜欢
  • 2012-03-20
  • 2016-01-29
  • 2015-04-16
  • 2011-06-04
  • 1970-01-01
  • 2014-03-20
  • 2011-06-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多