gpt4 book ai didi

Java打包问题

转载 作者:行者123 更新时间:2023-12-01 16:10:11 25 4
gpt4 key购买 nike

我有一个我开发的应用程序。目前,它的所有配置文件(包括 log4j.properties ,由我使用的一些外部库使用)部署在与我的应用程序相同的目录中。

所以,我有一个bin目录,包含我的 app.jar ,加上一些属性文件,加上 lib目录与我所有的外部 jar 。外部 jar 在 app.jar 中指定的类路径中指定。的 list 文件。

现在,权力机构已经颁布法令,新的结构将是 bin目录只有 app.jar ,带有 lib外部 jars 和 ../lib 位于同一级别的 dir (即 bin ,相对于 ../etc )配置文件目录。

很简单,我想 - 我更改了 ./lib/<jarname> 中的所有类路径路径至../lib/<jarname> ,并添加 ../etc也到类路径。

问题是现在任何使用 log4j 的 jar 都不起作用——它们看不到 log4j.properties文件——我怀疑是因为 app.jar 的类路径不会影响外部 jar 的类路径(也许?),之前他们只是因为它位于“.”中而找到它。

有什么想法吗?

最佳答案

您可以将 log4j.properties 放在任何位置,只要它位于类路径中即可。因此,正如 @skaffman 建议的那样,将 log4j 属性文件放入类路径中已有的 etc 目录中。

使用 PropertyConfigurator 的另一种方法是在运行应用程序时设置此系统属性。

-Dlog4j.configuration=log4j.properties

关于Java打包问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1558664/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com