如何在Maven配置文件中提取公共部分

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Maven配置文件中提取公共部分相关的知识,希望对你有一定的参考价值。

在我的pom.xml中,我定义了几个配置文件来运行Oracle WebLogic下的Spring Boot应用程序:

    <profile>
        <id>wls-1</id>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
                <scope>provided</scope>
            </dependency>
        </dependencies>
        <properties>

        </properties>
    </profile>
    <profile>
        <id>wls-2</id>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
                <scope>provided</scope>
            </dependency>
        </dependencies>
        <properties>

        </properties>
    </profile>
    <profile>
        <id>wls-3</id>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
                <scope>provided</scope>
            </dependency>
        </dependencies>
        <properties>

        </properties>
    </profile>
    <profile>
        <id>tomcat1</id>
        <properties>

        </properties>
    </profile>

正如您在每个新的wls配置文件中看到的那样,我需要定义依赖关系以使用提供范围(否则部署将因某些tomcat资源而失败)。但我仍然有一些其他配置文件,不会使用这个wls-common部分

有没有办法如何定义一些wls-common配置文件,将自动使用该配置文件而不更改我的mvn命令?我知道我可以在mvn -P p1,p2或属性-Dp1=wls链接配置文件,但这不是我想要的。

答案

在所有配置文件中,定义将激活特定配置文件的属性,并将所有配置文件放在通用配置文件中。

但是,这需要您将命令从mvn -Pwls-1更改为mvn -Dwls-1

<profile>
 <id>wls-1</id>
 <activation>
   <property>
     <name>wls-1</name>
   </property>
 </activation>
 ...
</profile> 
<profile>
    <id>common</id>
    <activation>
      <property>
        <name>wls-1</name>
        <name>wls-2</name>
        <name>wls-3</name>
      </property>
    </activation>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>
    </dependencies>
    <properties>
    </properties>
</profile>
另一答案

您无法从其他配置文件激活配置文件。您只能通过命令行,标记文件,操作系统等外部手段激活它们。

以上是关于如何在Maven配置文件中提取公共部分的主要内容,如果未能解决你的问题,请参考以下文章

arttemplate怎么提取公共部分

11SpringBoot-CRUD-thymeleaf公共页面元素抽取

head标签怎么给多个html引用

webpack配置提取公共代码

Webpack构建多页应用Mpa:提取公共jscsshtml代码,实现图片字体单独打包,拆分多环境配置文件

webpack4:提取压缩css(公共部分)消除多余css