在构建我的项目时,需要两个版本的 org.bouncy-castle:bcprov
- org.bouncy-城堡:bcprov-jdk12
- org.bouncy-城堡:bcprov-jdk16
因此,在列出依赖项时,我得到了jdkversion12
有什么办法可以修改pom文件,让jdkversion16先列出来?
在构建我的项目时,需要两个版本的 org.bouncy-castle:bcprov
因此,在列出依赖项时,我得到了jdkversion12
有什么办法可以修改pom文件,让jdkversion16先列出来?
您可以通过像这样指定它来排除依赖项 - 在您的情况下,您将排除jdk12
一个:
<dependency>
<groupId>group</groupId>
<artifactId>artifact</artifactId>
<version>1.0.0</version>
<exclusions>
<exclusion>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk12</artifactId>
</exclusion>
</exclusions>
</dependency>
这样,只有jdk16
一个应该被拉进来。
如果您需要根据您正在构建的位置和安装的 JDK 版本来提取两者之一,您可以使用配置文件来区分,例如:
<profile>
<id>jdk12</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.2</jdk>
</activation>
<dependencies>
<dependency>
<groupId>group</groupId>
<artifactId>artifact</artifactId>
<version>1.0.0</version>
<exclusions>
<exclusion>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk16</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</profile>
<profile>
<id>jdk16</id>
<activation>
<jdk>1.6</jdk>
</activation>
<dependencies>
<dependency>
<groupId>group</groupId>
<artifactId>artifact</artifactId>
<version>1.0.0</version>
<exclusions>
<exclusion>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk12</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</profile>
示例取自:http: //svn.apache.org/repos/asf/webservices/wss4j/trunk/pom.xml