maven 关于 scope test 和 继承传递的有关问题
maven 关于 scope test 和 继承传递的问题
Project A 被 Project B 调用 比如 A 里有 mockito的jar包, B要引用A , 从而不需要在B里直接引用mockito的jar包,而且A 包里的自建代码也可以用起来。
关键点在于 A 的pom里不能 用 test scope来藏起来A里面的jar ,这样B就无法继承到了, 所以 scope test 是只给自己这个工程使用的意思。
A Project 里面 需要这样的写法:
<modelVersion>4.0.0</modelVersion>
<groupId>com.xiangsoft.mocktest</groupId>
<artifactId>xiangmock</artifactId>
<version>1.0.1</version>
<name>xiangmock_v1</name>
<description>xiangmock_v1</description>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId>
<version>1.4.10</version>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito</artifactId>
<version>1.4.10</version>
</dependency>
</dependencies>
B Project 里可以这个调用, 从而不会把 一些test的打包到正式发布的war里
<dependency>
<groupId>com.xiangsoft.mocktest</groupId>
<artifactId>xiangmock</artifactId>
<version>1.0.1</version>
<scope>test</scope>
</dependency>
Project A 被 Project B 调用 比如 A 里有 mockito的jar包, B要引用A , 从而不需要在B里直接引用mockito的jar包,而且A 包里的自建代码也可以用起来。
关键点在于 A 的pom里不能 用 test scope来藏起来A里面的jar ,这样B就无法继承到了, 所以 scope test 是只给自己这个工程使用的意思。
A Project 里面 需要这样的写法:
<modelVersion>4.0.0</modelVersion>
<groupId>com.xiangsoft.mocktest</groupId>
<artifactId>xiangmock</artifactId>
<version>1.0.1</version>
<name>xiangmock_v1</name>
<description>xiangmock_v1</description>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId>
<version>1.4.10</version>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito</artifactId>
<version>1.4.10</version>
</dependency>
</dependencies>
B Project 里可以这个调用, 从而不会把 一些test的打包到正式发布的war里
<dependency>
<groupId>com.xiangsoft.mocktest</groupId>
<artifactId>xiangmock</artifactId>
<version>1.0.1</version>
<scope>test</scope>
</dependency>