1. 程式人生 > >Maven 的dependency 的 classifier的作用

Maven 的dependency 的 classifier的作用

元素 copyto lov source cli ins tro all ocl

直接看一個例子,maven中要引入json包,於是使用了

[java] view plain copy print?
  1. <dependency>
  2. <groupId>net.sf.json-lib</groupId>
  3. <artifactId>json-lib</artifactId>
  4. <version>2.2.2</version>
  5. </dependency>

可是,當執行mvn install 命令時,卻拋出一個錯誤,說找不到net.sf.json-lib:json-lib:2.2.2這個包,到倉庫中看一下http://repo2.maven.org/maven2/net/sf/json-lib/json-lib/2.2.2/

技術分享

jar的名稱中多了一個跟JDK相關的名稱,例如jdk15,按照上面的配置,明顯是找不到這個jar的,於是classifier就有它的用武之地了,它表示在相同版本下針對不同的環境或者jdk使用的jar,如果配置了這個元素,則會將這個元素名在加在最後來查找相應的jar,例如:

[c-sharp] view plain copy
print?
  1. <dependency>
  2. <groupId>net.sf.json-lib</groupId>
  3. <artifactId>json-lib</artifactId>
  4. <version>2.2.2</version>
  5. <classifier>jdk15</classifier>
  6. </dependency>

這樣配置即可找到json-lib-2.2.2-jdk15.jar ,其他的就不解釋了,應該明白他的用途了吧

Maven 的dependency 的 classifier的作用