Swa*_*wal 10 java scala jar gradle maven
我编写了一些代码并将其导出为jar文件.在这个jar中有一个名为automation.propertiesdefaults 的文件,我正在使用它加载
val automationPropertiesFileURL = getClass.getResource("/automation.properties")
if (automationPropertiesFileURL != null) {
val source = Source.fromURL(automationPropertiesFileURL)
config = new Properties()
config.load(source.bufferedReader())
}
Run Code Online (Sandbox Code Playgroud)
但是当这个jar文件被添加为gradle依赖项C:\User\abc\.gradle并且我想automation.properties从我当前的项目中读取时,如何覆盖该位置并从我的项目中读取文件而不是从jar文件本身?
类加载器将从它首先找到的位置加载文件.
在您的情况下,该文件存在于两个地方:
jar依赖类加载器将找到哪个文件,取决于"当前项目"的顺序以及jar对类路径的依赖性.这就是你需要审查的内容,这是加载正确文件的关键.
您当前的代码是正确的,这是类路径配置的问题.
我认为
Source.fromInputStream(
getClass.getClassLoader.getResourceAsStream("/automation.properties")
)
Run Code Online (Sandbox Code Playgroud)
应该管用。
| 归档时间: |
|
| 查看次数: |
2460 次 |
| 最近记录: |