Hello src main resources tset main resources pom.xml
<?xml version="1.0" ?> <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/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.atguigu.maven</groupId> <artifactId>Hello</artifactId> <version>0.0.1-SNAPSHOT</version> <name>Hello</name> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.0</version> <scope>test</scope> </dependency> </dependencies> </project>
package com.atguigu.maven; public class Hello { public String sayHello(String name){ return "Hello "+name+"!"; } }
package com.atguigu.maven; import org.junit.Test; import static junit.framework.Assert.*; public class HelloTest { @Test public void testHello(){ Hello hello = new Hello(); String results = hello.sayHello("atguigu"); assertEquals("Hello atguigu!",results); } }
// 运行前需要进入到pom.xml目录下 mvn compile //编译 mvn clean // 清理 mvn test-compile // 编译测试程序 mvn test // 测试程序 mvn package // 打包 mvn install // 程序jar包放到本地仓库
<localRepository>本地仓库路径</localRepository>
<mirror> <id>nexus-aliyun</id> <mirrorOf>central</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror>
<build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <archive> <manifest> <!-- 指定主类 --> <mainClass>xxx.xxx.XXX</mainClass> </manifest> </archive> </configuration> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
<project...> // 1 工程 <modelVersion>...</modelVersion>// 1.1 版本 <groupId>...</groupId>// 1.2 工程坐标 <artifactId>...</artifactId> <version>...</version> <properties>// 1.3 自定义依赖版本 <xxx.version>...</xxx.version> </properties> <dependencies>// 1.2 依赖 <dependency>//1.2.1 依赖1 <groupId>...</groupId>// 1.2.1.1 依赖坐标 <artifactId>...</artifactId> <version>...</version> <scope>...</scope> //1.2.1.2 依赖范围 </dependency> <exclusions>// 1.2.2 排除 <exclusion>// 1.2.2.1 排除1 <groupId>...</groupId> <artifactId>...</artifactId> </exclusion> </exclusions> </dependencies> <build>//1.3构建部分 <plugins>//1.3.1插件部分 <plugin>...<plugin>// 1.3.1.1插件1 </plugins> </build> <reporting>// 1.4报表部分 </reporting> </project>
<project...> ... <groupId>com.atguigu.maven</groupId> <artifactId>Hello</artifactId> <version>0.0.1-SNAPSHOT</version> ... </project>
<project...> ... <dependencies> <dependency> <groupId>com.atguigu.maven</groupId> <artifactId>Hello</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.0</version> <scope>test</scope> </dependency> </dependencies> ... </project>
<project> <properties> <spring.version>4.0.0.RELEASE</spring.version> </properties> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> </project>
//父 <project> <packaging>pom</packaging> <dependencyManagement> <dependencies> <dependency> <g, a, v />// 指明junit的版本 <scope>4.9</scope> </dependency> </dependencies> </dependencyManagement> </project>
//子 <project> <parent> <relativePath>../Parent/pom.xml</relativePath> </parent> <dependencies> <dependency> <g, a, v /> //删除scope标签 </dependency> </dependencies> </project>
<project> <modules> <module></module>// 模块1 <module></module>// 模块2 <module></module>// 模块3 </modules> </project>