Maven 多项目倚赖关系
Maven 多项目依赖关系?project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.or
Maven 多项目依赖关系
?
<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><groupId>com.mycompany.app</groupId><artifactId>top-app</artifactId><version>1.0</version><name>top-app</name><packaging>pom</packaging><modules><module>my-app</module><module>my-app2</module><module>my-app3</module><module>my-app3war</module></modules><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.9</version><scope>provided</scope></dependency></dependencies></project>?my-app,my-app2,my-app3中只需要定义真正需要的。scope都为缺省即compile。如果项目单独添加了特别的测试用的库,那么加为test依赖,不过用compile也没有问题。
my-app2的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><artifactId>my-app2</artifactId><packaging>jar</packaging><version>1.0</version><name>my-app2</name><parent><groupId>com.mycompany.app</groupId><artifactId>top-app</artifactId><version>1.0</version></parent><dependencies><dependency><groupId>com.mycompany.app</groupId><artifactId>my-app</artifactId><version>1.0</version><scope>compile</scope></dependency></dependencies></project>?my-appwar中也只需要定义真正需要的。scope也都为缺省即compile,因为在top-app中已经定义了应用服务器提供的库,打包的时候maven不会打进去。
?
示例代码见附件。