添加资源,configuration文件到您的jar使用gradle
如何使用Gradle将configuration文件或任何其他资源添加到我的jar中?
我的项目结构:
src / main / java / com / perseus / .. — Java包(源文件)
src / main / java / config / *。xml — Springconfiguration文件
预期的jar结构:
com / perseus / .. — Java包(类文件)
config / *。xml — Springconfiguration文件
将configuration文件从src/main/java
移到src/main/resources
。
谢谢你们,我正在把一个现有的项目迁移到Gradle,不喜欢改变项目结构的想法。
我已经知道了,认为这些信息可能对初学者有用。
以下是我的“build.gradle”中的示例任务:
version = '1.0.0' jar { baseName = 'analytics' from('src/main/java') { include 'config/**/*.xml' } manifest { attributes 'Implementation-Title': 'Analytics Library', 'Implementation-Version': version }
默认情况下,任何添加到src/main/resources
都将包含在jar中。
如果您出于任何原因需要更改该行为,则可以通过configurationsourceSets
。
这部分文档包含了所有的细节
我碰到这个post,search如何添加额外的资源目录。 我find了可能对某人有用的解决scheme。 这是我最后的configuration来得到这个:
sourceSets { main { resources { srcDirs "src/main/resources", "src/main/configs" } } }
我遇到了同样的问题。 我在一个Java包中有一个PNG文件,它并没有在最终的JAR中与源一起导出,导致应用程序在启动时崩溃(文件未find)。
上面的答案都没有解决我的问题,但我在Gradle论坛上find了解决scheme。 我将下面添加到我的build.gradle
文件中:
sourceSets.main.resources.srcDirs = [ "src/" ] sourceSets.main.resources.includes = [ "**/*.png" ]
它告诉Gradle在src
文件夹中查找资源,并要求它只包含PNG文件。
编辑:要小心,如果你使用Eclipse,这将打破你的运行configuration,你会得到一个main class not found
错误时,试图运行您的程序。 为了解决这个问题,我find的唯一解决scheme是将图像移动到另一个目录,例如res/
,并将其设置为srcDirs
而不是src/
。
- “minifyEnabled”vs“shrinkResources” – 有什么区别? 以及如何获得节省的空间?
- 错误:执行任务':app:packageRelease'失败。 >无法计算/../AndroidStudioProjects/../classes.jar的散列
- 我如何在Android项目中使用外部JAR?
- 如何在android studio中启用Jack(Java Android编译器工具包)
- Gradle Warning:缺lessgroovy返回语句
- 与依赖'com.android.support:support-annotations'冲突。 应用程序(23.1.0)和testing应用程序(23.0.1)的已解决版本不同
- 在build.gradle文件中写评论的语法是什么?
- Android在Android Studio中使用新名称复制现有项目
- Java完成非零退出值2 – Android Gradle