Maven目录结构
1.编写POM
目录hello-world/pom.xml
<?xml version="1.0" encoding="UTF-8"?> <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.ydc.ln.mvndemo</groupId> <artifactId>hello-world</artifactId> <version>1.0-SNAPSHOT</version> <name>Maven Hello World Project</name> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>2.0</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>com.ydc.ln.mvn.helloworld.HelloWorld</mainClass> </transformer> </transformers> </configuration> </execution> </executions> </plugin> </plugins> </build> </project>
2.编写主代码
目录:hello-world/src/main/java/com/ydc/ln/mvn/helloworld/HelloWorld.java
package com.ydc.ln.mvn.helloworld; public class HelloWorld { public static void main(String[] args) { System.out.println(new HelloWorld().sayHello()); } public String sayHello() { return "Hello Maven"; } }
3.编写测试代码
目录hello-world/src/test/java/com/ydc/ln/mvn/helloworld/HelloWorldTest.java
package com.ydc.ln.mvn.helloworld; import static org.junit.Assert.*; import org.junit.Test; import com.ydc.ln.mvn.helloworld.HelloWorld; public class HelloWorldTest { @Test public void testSayHello() { HelloWorld helloWorld = new HelloWorld(); String result = helloWorld.sayHello(); assertEquals("Hello Maven", result); } }
4.打包和运行(相关命令)
mvn clean
mvn clean compile
这是第一次运行时,Maven需要下载相关jar包,保存在 用户名\.m2\repository 文件夹下
这是Maven第二次运行该命令
mvn clean test
mvn clean package
mvn clean install [-U]
java -jar target\hello-world-1.0-SNAPSHOT.jar
以下命令
--查看当前项目已解析依赖
--具体看优化依赖
mvn dependency:list
mvn dependency:tree
mvn dependency:analyze
------------------------------------------------
简短总结:
解析pom.xml modelVersion 指定了当前POM模型的版本,对于Maven2及Maven3来说,只能是4.0.0(不懂为什么) groupId 网站+项目名,如:com.lnydc.mvndemo artifactId 项目组中唯一ID,如: hello-world version 版本,如: 1.0-SNAPSHOT name 友好的项目名称,但不是必须的 dependencies 声明项目的依赖 scope 依赖范围 默认为compile,该依赖对主代码和测试代码都有效 中央仓库 http://repo1.maven.org/maven2/ maven类型 jar/pom/war 命令 mvn clean 清理输出目录target/ mvn clean compile 编译 mvn clean test 测试 mvn clean package 打包,生成jar包,命名规则:artifact-version.jar,也可以用finalName来自定义该文件的名称 mvn clean install [-U] 将项目输出的jar安装到了Maven本地仓库中,可心让本机的其它项目引用该jar包 java -jar target\hello-world-1.0-SNAPSHOT.jar mvn dependency:list 分析项目依赖 mvn dependency:tree 列出项目的依赖树 mvn dependency:analyze 列出项目所有已解析的依赖 了解插件与插件目标,如: clean:clean resources:resources compiler:compile 使用Archetype生成项目骨架 mvn archetype:generate 创建该项目的骨架,适用于Maven3,Maven2必须其他命令
相关推荐
maven-project-info-reports-plugin-2.2.jar
maven-archetype-quickstart-1.1.jar包下载
解决tomcat8-maven-plugin-3.0-r1655215.jar阿里云同有的问题。放到路径org\apache\tomcat\maven\tomcat8-maven-plugin\3.0-r1655215\就可以了
maven-deploy-plugin-2.7.jar
maven-site-plugin-3.3.jar
maven-archetype-webapp-1.0.jar,下载,如果有需要的同志可以自己下载,。
maven-jar-plugin-3.1.1.jar
maven-resources-plugin-2.4.1.jar
maven-deploy-plugin-2.8.2.jar
maven-maven-plugin-1.4-sources.jar
maven-project-info-reports-plugin-2.1.jar
maven-plugin-parameter-documenter-2.0.jar
maven资源 apache-maven-3.3.9-bin.zip
maven-shared-utils-3.2.1.jar
Maven3实战笔记04——Maven的生命周期和插件。
maven-notice-plugin-1.0.1.jar
2.cmd窗口执行mvn install:install-file -DgroupId=org.apache.maven.archetypes -DartifactId=maven-archetype-quickstart -Dversion=1.1 -Dpackaging=jar -Dfile=maven-archetype-quickstart-1.1.jar
Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean (default-clean) on project
maven-scm-client-1.4.jar