每次我在src / main / resources下更改属性文件时,我都必须重建Jar

时间:2016-04-07 00:13:37

标签: java gradle

我在src / main / resources / db.properties下有一个属性文件,每次更改值时我都需要重建Jar。是否有解决方案,我不必这样做?

1 个答案:

答案 0 :(得分:0)

由于文件位于src / main / resources中(假设默认布局,当然可以更改),它将被复制到processResources任务中(参见https://docs.gradle.org/current/userguide/java_plugin.html)。
这意味着它是jar文件的一部分 - 如果您希望java应用程序获取更改,则更改它需要您重新打包jar文件。我没有看到那里的方法,除了将文件与jar文件分开并通过常规文件api访问它。 (或者通过zip工具访问jar内容,然后将更改提供给运行时..并处理锁定的文件..是的,不。)

Gradle非常聪明,每次都不会触发整个构建过程,只有当事情发生变化时才会发生 如果要手动“跳过”编译并仅重新打包jar文件,则可能必须将自己的任务添加到build.gradle。简单地运行“只是”jar任务将不会这样做,因为这取决于编译任务。