使用 Gradle 的 Application Plugin 打包生成可以用来执行 Java 程序的脚本时遇到一个问题,当使用startScripts.classpath.add(files('$APP_HOME/conf'))
将配置文件加入到 classpath 的时候,生成的启动脚本中的入口却是$APP_HOME/lib/conf
。
解决这个问题的一个办法是将 conf 文件夹放置于发布包的 lib 目录下:
这种办法由于目录结构不合理被领导否认了。最终使用的办法是将启动脚本中的入口进行文本替换:
Reference:
1 Adding classpath entries using Gradle’s Application plugin
2 Classpath in Application plugin is building always relative to %APP_HOME%/lib directory