如何在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配置文件中提取公共部分的主要内容,如果未能解决你的问题,请参考以下文章
11SpringBoot-CRUD-thymeleaf公共页面元素抽取