項目僅依賴於項目內的pom.xml,不依賴於本地maven配置,達到打開項目無需配置maven便可使用的需求。html
【根pom.xml配置以下信息】:java
<repositories> <repository> <id>central</id> <name>Maven Repository Switchboard</name> <layout>default</layout> <url>http://repo1.maven.org/maven2</url> <snapshots> <enabled>false</enabled> </snapshots> <releases> <updatePolicy>interval:1</updatePolicy> </releases> </repository> <repository> <id>sourceforge-releases</id> <name>sourceforge-releases</name> <url>https://oss.sonatype.org/content/repositories/sourceforge-releases</url> <snapshots> <enabled>false</enabled> </snapshots> </repository> <repository> <id>nexus</id> <name>nexus</name> <url>http://nexus.company.com/nexus/content/groups/public</url> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories>
【根pom.xml配置以下信息】:apache
<properties> <!--配置包版本信息等--> <lib.util.version>2016.05.24.1</lib.util.version> <java.version>1.8</java.version> <junit.version>4.12</junit.version> <mockito-all.version>1.10.19</mockito-all.version> <powermock-api-mockito.version>1.6.2</powermock-api-mockito.version> <powermock-module-junit4.version>1.6.2</powermock-module-junit4.version> <dom4j.version>1.6.1</dom4j.version> </properties> <dependencyManagement> <dependencies> <!--inner reference begin--> <!--inner reference end--> <!--department inner reference start--> <dependency> <groupId>com.company.dealer.lib</groupId> <artifactId>util</artifactId> <version>${lib.util.version}</version> </dependency> <!--department inner reference end--> <!-- Unit Test begin --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${junit.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-all</artifactId> <version>${mockito-all.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-api-mockito</artifactId> <version>${powermock-api-mockito.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-module-junit4</artifactId> <version>${powermock-module-junit4.version}</version> <scope>test</scope> </dependency> <!-- Unit Test end --> <dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>${dom4j.version}</version> </dependency> </dependencies> </dependencyManagement>
【子項目pom.xml配置以下信息】: json
<dependencies> <!--inner reference begin--> <dependency> <groupId>com.company.dealer.lib</groupId> <artifactId>util</artifactId> </dependency> <!--inner reference end--> <!--test reference begin--> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-all</artifactId> <!--無需輸入版本號,版本有父項目的pom來配置--> </dependency> <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-api-mockito</artifactId> </dependency> <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-module-junit4</artifactId> </dependency> <!--test reference end--> </dependencies>
PS:無需指定軟件版本信息,默認會繼承父節點dependencyManagement節點下的版本信息 api
例如:dom
<build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>2.6</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>2.4</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>2.10.3</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>2.4.3</version> </plugin> </plugins> </pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.3</version> <configuration> <source>${java.version}</source> <target>${java.version}</target> <showWarnings>true</showWarnings> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>2.7</version> <!--bug fix:http://stackoverflow.com/questions/26281322/mavenfailed-to-execute-goal-org-apache-maven-pluginsmaven-resources-plugin2-7--> <dependencies> <dependency> <groupId>org.apache.maven.shared</groupId> <artifactId>maven-filtering</artifactId> <version>1.3</version> </dependency> </dependencies> <configuration> <encoding>utf-8</encoding> <nonFilteredFileExtensions> <nonFilteredFileExtension>dat</nonFilteredFileExtension> <nonFilteredFileExtension>json</nonFilteredFileExtension> </nonFilteredFileExtensions> </configuration> </plugin> <!-- 單元測試覆蓋率插件 --> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>0.7.6.201602180812</version> <executions> <execution> <id>pre-test</id> <goals> <goal>prepare-agent</goal> </goals> </execution> <execution> <id>post-test</id> <phase>test</phase> <goals> <goal>report</goal> </goals> </execution> </executions> </plugin> </plugins> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources> </build>
地址:http://pan.baidu.com/s/1qXJU1UOmaven