加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-14 05:38:39 所属栏目:Java 来源:网络整理
导读:我正在寻找一些我认为不会困难的事情. 我有一个应用程序,我想打包成一个jar,因为我有?30个依赖关系,我想要能够部署一个文件. 我有一些配置文件 – 一个属性文件和一个spring配置文件,以及我的log4 props文件 – 我想在jar外部.我想我预计,如果我把它们放在与
我正在寻找一些我认为不会困难的事情.

我有一个应用程序,我想打包成一个jar,因为我有?30个依赖关系,我想要能够部署一个文件.

我有一些配置文件 – 一个属性文件和一个spring配置文件,以及我的log4 props文件 – 我想在jar外部.我想我预计,如果我把它们放在与jar相同的目录中,它会在运行时找到它们,但是没有.

在开发过程中,我将这些文件放在eclipse项目的classpath的根目录下,并且应用程序发现它们很好.我觉得我错过了jar / classpath理论的一些关键方面…

所以我想要的是将配置文件和jar放在同一个目录中,并且当我使用标准的java -jar的东西运行它时,应用程序会找到配置文件.

有没有一个简单的方法来实现这一点?

解决方法

我将为后代保留我解决这个问题的办法.

我认为我有可能期待java -jar做一些它不做的事情.

如果您使用常规java命令,您可以在类路径中包含该jar,并且最终将与java -jar几乎相同,只有您必须具体命名要使用的类.看起来像这样:

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

有可能你要建立一个脚本来为你启动程序,所以增加的命令行调用的复杂性并没有太多,因为你只会构建一次.

你会看到我包括’.’作为类路径中的第一个项目,这意味着同一目录中与jar相同的任何内容也将包含在类路径中.当然,jar中的一切都包含在类路径中,因为jar本身也在类路径上.

您还将看到,我已经显示了如何仍然可以在命令行中提交args.这是我不确定当我开始,但它按预期工作.

我确信这只是基本的Java部署知识,但是由于某些原因我缺乏这个知识.

我希望这有助于别人.如果有人能够说“不要试图得到-jar的东西 – 只需使用-cp方法”就可以节省很多时间…

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读