当前位置: 首页 > 面试题库 >

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

庾和昶
2023-03-14
问题内容

我正在研究一个多模块Maven项目,其结构如下:

war-module
jar-module

war模块取决于jar模块,并将打包后将jar工件添加到webapp的lib目录中。

war模块和jar模块都使用Apache
log4j进行日志记录,并共享相同的log4j配置文件(log4j.xml),该文件当前位于jar模块项目中。并且此log4j.xml将打包到jar-
module.jar文件中,但是,我想将其放入war包中而不是jar文件中的WEB-INF /
classes目录中,以便用户可以轻松找到它配置文件并在必要时对其进行修改(如果此文件位于WEB-INF / lib / jar-
module.jar中,由于该目录下还有许多其他jar,对于他们来说很难找到它)。

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

更新:

我的真实项目要复杂一些,并且还有一个耳模,它也依赖于jar模块(aka。jar模块可以在多个不同的项目中独立使用,而我不能只是将文件放入war-
module / src / main /
resources目录以解决此问题)。而且我不想在多个项目中重复一些配置文件,例如log4j.xml(以及其他配置文件,例如myapp.properties)。


问题答案:

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

通常,在多模块Maven项目中共有三种共享资源的方法:

  • 剪切并粘贴它们。
  • 使用汇编和依赖插件
  • 使用maven-remote-resources-plugin

这是Maven背后的公司Sonatype的博客文章,内容涉及在Maven中的项目之间共享资源,这是我需要的确切答案:

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



 类似资料:
  • 我有一个问题,为我的多模块maven项目正确设置Spring启动。 有一个模块“api”使用另一个模块“core”。Api有一个应用程序。包含spring的属性文件。邮政主机=xxx。根据Spring Boot文档,这为您提供了JavaMailSender接口的默认实现,可以自动连接。 然而,负责发送电子邮件的类驻留在“核心”包中。当我尝试构建该模块时,构建失败,因为找不到JavaMailSend

  • 我正在学习本教程https://spring.io/guides/gs/multi-module/#scratch 在根目录中,我创建了3个目录:moduleA、moduleB和moduleC 我运行了

  • 我曾广泛使用过Maven 目前有5个不同的maven项目,每个项目都有一个不同的pom.xml。到目前为止,它们之间存在依赖关系,如果需要,每一个都指向 中的另一个。 现在我们不喜欢的是 当我们发布子projectA时,我们需要手动修改所有将projectA作为依赖项的项目以使用新版本。Saw Maven有一个版本插件,不知道这会有什么帮助。 作为解决方案,我希望在POM之间有一个更干净的组织,并

  • 问题内容: 我一直在尝试使用Maven Shade插件来获取jar,但是我仍然没有成功。 这是我的项目结构: Module1(pom.xml): Module2(pom.xml): MainModule(pom.xml): 根据这段代码,我得到了2个jar文件(Module1-version.jar和Module2-version.jar)。但这不是我想要的。我希望得到1个jar文件(MainMo

  • 我试图使用maven中的jacoco插件为我正在进行的一个多模块项目生成代码覆盖率报告。 我在我的父母pom中添加了以下内容。构建标记中的xml。 在运行mvn verify时,会在“project root\module\target\site\jacoco\”处为每个模块生成相应的jacoco报告 是否可以在项目根目录下生成包含每个模块的测试覆盖率详细信息的综合jacoco报告? 请建议合并各

  • 我一直在尝试使用Maven Shade插件获取jar,但仍然没有成功。 这是我的项目结构: 模块1(pom.xml): 模块2(pom.xml): 主模块(pom.xml): 根据这段代码,我得到了2个jar文件(Module1-version.jar和Module2-version.jar)。但这不是我想要的。我希望得到1个jar文件(MainModule-version.jar),它将包含另一