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

Java不同构建配置文件的不同依赖项

须旭
2023-03-14
问题内容

对于不同的配置文件,maven pom.xml文件中是否可能具有一组不同的依赖关系?

例如

mvn -P debug
mvn -P release

我想在一个配置文件中选择一个不同的依赖项jar文件,该文件具有相同的类名和相同接口的不同实现。


问题答案:

在此引用Maven文档:

配置文件元素既包含可选激活(配置文件触发器),又包含如果已激活POM则要对POM进行的一组更改。例如,为测试环境构建的项目可能指向与最终部署不同的数据库。或者可以根据所使用的JDK版本从不同的存储库中提取依赖项。
(强调是我的)

只需将release配置文件的依赖项放在配置文件声明本身内,并对进行相同的操作debug。

<profiles>
    <profile>
        <id>debug</id>
        …
        <dependencies>
            <dependency>…</dependency>
        </dependencies>
        …
    </profile>
    <profile>
        <id>release</id>
        …
        <dependencies>
            <dependency>…</dependency>
        </dependencies>
        …
    </profile>
</profiles>


 类似资料:
  • 我有一个由maven管理依赖关系的多模块项目。 我在子模块“插件”中有多个插件。我想在不同的场景中添加不同的插件,但在每个场景中都需要一些插件。 “插件”模块中的pom.xml。 无论我运行“mvn包”还是“mvn包-P内部”,它只包含第二个模块作为依赖项。有人知道原因吗? 我的maven版本是3.3.9

  • 问题内容: 我正在使用不同的Maven配置文件将我的应用程序部署到不同的环境。(使用weblogic-maven-plugin,但是我认为这并不重要) 在应用程序中,我使用Spring Web Services。现在,我想根据环境更改端点。(端点在Spring的applicationContext.xml中定义) 我的想法是从属性文件中读取值。该属性文件将在Mavens软件包阶段写入(或复制)。

  • 但是我有两种回购方式 如何创建两个bean,其中一个是用注入的,另一个是用注入的?

  • 对于一些人来说,这可能是一个非常简单的问题,但就我个人而言,Log4j配置非常困难,学习执行脑部手术可能没有那么困难。 我正试图让多个日志记录者登录到不同的文件。这是我的log4j中的内容。属性文件: 这是我的(非常简单的)Java应用程序用于测试配置: 我有两个问题: 有一个问题,我总是在

  • 问题内容: 在我的application.yml中,我得到了: 还有其他一些使用不同的配置文件。启动应用程序时,我得到以下信息: 如果我只是将log4j2.xml放在已分析的文件旁边,则它可以工作。所以我认为这是我错过依赖关系的原因,或者使用log4j2无法实现? 问题答案: 在我这边,我正在使用属性文件而不是Yaml文件。我需要两个日志文件:一个将所有内容记录到控制台,另一个用于记录文件。因此,

  • 我正在尝试将我的项目从gradle构建转换为maven构建。我可以从maven生成war文件,但是maven中的一些依赖项JAR的版本与Gradle的版本不同。 问题1:为什么上述罐子的版本不一样? 问题2:为什么使用Gradle构建的战争有“cglib-2.2.1-v20090111.jar”,而使用Maven构建的战争却没有?