Java -jar:访问外部配置文件

我想做一些我认为并不困难的事情。

我有一个要打包为jar的应用程序,因为我有大约30个依赖项,并且我希望能够部署一个文件。

我有一些配置文件-一个属性文件和一个spring配置文件,以及我的log4 props文件-

我想在jar外部使用。我想我希望,如果我将它们与jar放在同一目录中,它将在运行时找到它们,但事实并非如此。

在开发过程中,我将这些文件放在eclipse项目的类路径的根目录下,应用程序发现它们很好。我觉得我缺少了jar /类路径理论的某些关键方面…

所以我想要的是能够将配置文件和jar文件放在同一目录中,并让我在使用标准java -jar东西运行该应用程序时找到该配置文件。

有没有简单的方法可以做到这一点?

回答:

我将为后代保留我对这个问题的解决方案。

我认为我可能期望java -jar做它不做的事情。

如果使用常规的Java命令,则可以在类路径中包含jar,最后得到与java -jar几乎相同的东西,只需要专门命名要使用的类即可。看起来像这样:

java -cp .:path/to/Jar.jar com.company.package.Class arg1=val1 arg2=val2 ....

无论如何,您都有可能要构建一个脚本来为您启动该程序,因此命令行调用所增加的复杂性实际上并没有太多,因为您无论如何都只会构建一次。

您会看到我包括“。”

作为类路径上的第一项,这意味着与jar相同目录中的任何内容也将包含在类路径中。当然,罐子内部的所有内容也都包含在类路径中,因为罐子本身也位于类路径中。

您还将看到我已经展示了如何仍然可以在命令行上传递args。这是我不确定什么时候开始的,但是可以正常使用。

我确定这只是基本的Java部署知识,但是由于某种原因我缺乏它。

我希望这可以帮助其他人。如果有人能够说“不要费心尝试使-jar事情正常工作-只需使用-cp方法”,那肯定会为我节省很多时间。

以上是 Java -jar:访问外部配置文件 的全部内容, 来源链接: utcz.com/qa/431719.html

回到顶部