在Maven中,添加依赖关系只是小菜一碟。看下面的pom.xml。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <!-- Project Details --> <groupId>ykyuen</groupId> <artifactId>project-apple</artifactId> <packaging>jar</packaging> <version>1.0</version> <name>project-apple</name> <dependencies> <!-- project-apple depends on project-banana --> <dependency> <groupId>ykyuen</groupId> <artifactId>project-banana</artifactId> <version>1.0</version> </dependency> </dependencies></project>
设置以上依赖项与在project-apple中导入project-banana.jar相同。
现在,我有另一个Maven Web应用程序项目,称为project-
orange,其包装类型等于war。由于Java不会将.war文件视为类路径,因此添加上述依赖关系链接根本无法进行。
要解决此问题,有两种方法:
创建一个Maven模块,其中包含带有jar包装的项目橙色类。现在,您可以将新的Maven模块视为普通依赖项。
配置maven-war-plugin,使其在构建.war文件时将构建.jar文件。在战争项目的节点下添加以下代码。以下是一个示例。
。
...<build> <plugins> <plugin> <artifactId>maven-war-plugin</artifactId> <version>2.1.1</version> <configuration> <attachClasses>true</attachClasses> <classesClassifier>classes</classesClassifier> </configuration> </plugin> </plugins></build>...
运行mvn install之后,您可以在目标文件夹中找到以下存档文件
- 橘子战
- project-orange-classes.jar
现在,您可以编辑project-apple的pom.xml以添加新的依赖项。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <!-- Project Details --> <groupId>ykyuen</groupId> <artifactId>project-apple</artifactId> <packaging>jar</packaging> <version>1.0</version> <name>project-apple</name> <dependencies> <!-- project-apple depends on project-banana --> <dependency> <groupId>ykyuen</groupId> <artifactId>project-banana</artifactId> <version>1.0</version> </dependency> <!-- project-apple depends on project-orange --> <dependency> <groupId>ykyuen</groupId> <artifactId>project-orange</artifactId> <version>1.0</version> <!-- To map the project-orange-classes.jar --> <classifier>classes</classifier> </dependency> </dependencies></project>
参考 :http : //eureka.ykyuen.info/2009/10/30/maven-dependency-on-
jarwar-package/



