我想知道在Java中加载资源的最佳方法:
this.getClass().getResource() (or getResourceAsStream()),Thread.currentThread().getContextClassLoader().getResource(name),System.class.getResource(name).我正在使用Gradle的Application插件为独立的Java应用程序生成安装.我有一个配置文件,我需要放在类路径上,但我似乎无法让它在sh/bat文件中正确生成类路径.此配置文件需要位于jar外部.
conf文件位于目录中,/src/dist/conf/因此当我运行installApp它时,将它安装在这样的conf目录下$APP_HOME/conf.
我尝试将此目录添加到claspath,如下所示:
startScripts.classpath.add(files('$APP_HOME/conf'))
Run Code Online (Sandbox Code Playgroud)
但是当我查看sh/bat文件中的类路径时,它会添加一个如下所示的条目:
$APP_HOME/lib/conf
Run Code Online (Sandbox Code Playgroud)
如何告诉gradle删除lib此条目的部分?
我有一个通过 distZip (gradle 应用程序插件)安装的应用程序。它有 bin 和 lib 文件夹。现在我该把配置文件放在哪里?像 logback.xml 或 application.properties 等?或者我是否需要以某种方式告诉插件文件在哪里?