gpt4 book ai didi

java - 多模块 Maven 项目中的 log4j 配置文件

转载 作者:太空狗 更新时间:2023-10-29 22:54:38 24 4
gpt4 key购买 nike

我正在做一个多模块的 Maven 项目,它的结构是这样的:

war-module
jar-module

war-module依赖于jar-module,打包后会将jar artifact添加到webapp的lib目录下。

并且war-module和jar-module都使用Apache log4j进行日志记录,共享同一个log4j配置文件(log4j.xml),目前位于jar-module项目中。而这个log4j.xml会被打包成jar-module.jar文件,不过我想把它放到war包的WEB-INF/classes目录下,而不是放在jar文件里,这样用户会很容易找到这个配置文件并在必要时修改它(如果这个文件在 WEB-INF/lib/jar-module.jar 中,他们很难找到它,因为该目录下还有许多其他 jar)。

我的问题是:解决这个问题的Maven方法是什么?

更新:

我的真实项目有点复杂,还有一个 ear-module 也依赖于 jar-module (aka. jar-module 可以在几个不同的项目中独立使用,我不能只把文件进入 war-module/src/main/resources 目录来解决这个问题)。而且我不想在多个项目中复制一些配置文件,例如 log4j.xml(以及其他配置文件,例如 myapp.properties)。

最佳答案

我通过在网络上进行更多搜索找到了答案。

一般来说,在多模块的Maven项目中共享资源有以下三种方式:

  • Cut and paste them.
  • Use Assembly and Dependency plugins
  • Use the maven-remote-resources-plugin

这是 Maven 背后的公司 Sonatype 的一篇关于在 Maven 中跨项目共享资源的博文,这正是我需要的答案:

http://www.sonatype.com/people/2008/04/how-to-share-resources-across-projects-in-maven/

关于java - 多模块 Maven 项目中的 log4j 配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4162992/

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