pus*_*hya 67 java dependency-management maven
我有一个pom.xml文件,在其中我看到他们是3个依赖项引用相同<artifactId>
的差异在标签中
<classifier>sources</classifier>
<classifier>javadoc</classifier>
Run Code Online (Sandbox Code Playgroud)
我删除了具有SOURCES/JAVADOC
唯一依赖项的依赖项.我测试了我的应用程序,每件事情都很好.
使用此分类器标签的目的是什么?以及为什么我需要两次复制依赖项以添加<classifier>
标记SOURCES/JAVADOC
.
<dependency>
<groupId>oauth.signpost</groupId>
<artifactId>signpost-commonshttp4</artifactId>
<version>1.2.1.2</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>oauth.signpost</groupId>
<artifactId>signpost-commonshttp4</artifactId>
<version>1.2.1.2</version>
<type>jar</type>
***<classifier>javadoc</classifier>***
<scope>compile</scope>
</dependency>
<dependency>
<groupId>oauth.signpost</groupId>
<artifactId>signpost-commonshttp4</artifactId>
<version>1.2.1.2</version>
<type>jar</type>
***<classifier>sources</classifier>***
<scope>compile</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
Bis*_*jit 52
分类器允许区分从相同POM构建但其内容不同的工件.它是一些可选的任意字符串 - 如果存在 - 将附加到版本号之后的工件名称.
有关详细信息,请访问http://maven.apache.org/pom.html
分类器示例
作为此元素的动机,请考虑一个项目,该项目提供针对JRE 1.8的工件,但同时也是一个仍支持JRE 1.7的工件.第一个工件可以配备分类器jdk18,第二个工件配备jdk14,以便客户端可以选择使用哪个.
分类器的另一个常见用例是需要将辅助工件附加到项目的主工件.如果浏览Maven中央存储库,您会注意到分类器源和javadoc用于部署项目源代码和API文档以及打包的类文件.
另一个更实际的答案通过一个例子来帮助理解classifier
更好的用处。
假设您需要一个工件的两个版本:for openjpa
和eclipselink
for-例如,因为jar包含需要专门增强JPA实现的实体。
您可能会对在Maven配置文件中定义的这些构建有不同的处理方式,然后使用的配置文件也具有property <classifier />
。
要构建不同分类的版本,请在pom
中maven-jar-plugin
进行以下配置
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
<configuration>
<classifier>${classifier}</classifier>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
同时安装这两个文件将导致在仓库中存储文件,如下所示:
org / example / data / 1.0.0 / data-1.0.0.pom
org / example / data / 1.0.0 / data-1.0.0-openjpa.jar
org / example / data / 1.0.0 / data-1.0。 0-eclipselink.jar
现在只classifier
用哪一种就可以了,所以
<dependency>
<groupId>org.example</groupId>
<artifactId>data</artifactId>
<version>1.0.0</version>
<classifier>[openjpa|eclipselink]</classifier>
</dependency>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
66961 次 |
最近记录: |