我们再做项目的时候,有很多模块是可以重复使用的,maven提供了很好的解决模块之间相互引用的方法,具体流程如下:
1.建立共用模块
2.把共用模块安装到本地maven仓库中(mvn install)
3.再引用项目中确定安装公共模块的坐标
4.完成,可以调用公共模块的方法和功能了
先说一下maven的基本命令
创建一个简单的Java工程:mvn archetype:create -DgroupId=com.mycompany.example -DartifactId=Example
创 建一个java的web工程:mvn archetype:create -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-webapp -DgroupId=com.mycompany.app -DartifactId=my-webapp
打包:mvn package
编译:mvn compile
编译测试程序:mvn test-compile
清空:mvn clean
运行测试:mvn test
生成站点目录: mvn site
生成站点目录并发布:mvn site-deploy
安装当前工程的输出文件到本地仓库: mvn install
安 装指定文件到本地仓库:mvn install:install-file -DgroupId=<groupId> -DartifactId=<artifactId> -Dversion=1.0.0 -Dpackaging=jar -Dfile=<myfile.jar>
查看实际pom信息: mvn help:effective-pom
分析项目的依赖信息:mvn dependency:analyze 或 mvn dependency:tree
跳过测试运行maven任务: mvn -Dmaven.test.skip=true XXX
生成eclipse项目文件: mvn eclipse:eclipse
查看帮助信息:mvn help:help 或 mvn help:help -Ddetail=true
查看插件的帮助信息:mvn <plug-in>:help,比如:mvn dependency:help 或 mvn ant:help 等等。
常用命令
1. 创建Maven的普通java项目:
mvn archetype:create
-DgroupId=packageName
-DartifactId=projectName
2. 创建Maven的Web项目:
mvn archetype:create
-DgroupId=packageName
-DartifactId=webappName
-DarchetypeArtifactId=maven-archetype-webapp
3. 编译源代码: mvn compile
4. 编译测试代码:mvn test-compile
5. 运行测试:mvn test
6. 产生site:mvn site
7. 打包:mvn package
8. 在本地Repository中安装jar:mvn install
9. 清除产生的项目:mvn clean
10. 生成eclipse项目:mvn eclipse:eclipse
11. 生成idea项目:mvn idea:idea
12. 组合使用goal命令,如只打包不测试:mvn -Dtest package
13. 编译测试的内容:mvn test-compile
14. 只打jar包: mvn jar:jar
15. 只测试而不编译,也不测试编译:mvn test -skipping compile -skipping test-compile
( -skipping 的灵活运用,当然也可以用于其他组合命令)
16. 清除eclipse的一些系统设置:mvn eclipse:clean
17. mvn archetype:generate 这实际上就是让maven-archetype-plugin生成一个很简单的项目骨架,帮助开发者快速上手
D:\Users\Administrator\workspace\maven>mvn archetype:generate -DgroupId=com.m
DartifactId=my1 -Dversion-0.0.1-SNAPSHOT创建一个简单的java项目,按照maven目录结构
再eclipse中创建相互引用的项目
建立项目一:test
这里MavenHello就是我们要说的公共类,虽然没什么功能,呵呵代码如下:
package com.my;
public class MavenHello {
public static void say(){
System.out.println("hello");
}
}
pom文件如图:
这个项目的坐标就是:
<groupId>com.test</groupId>
<artifactId>test</artifactId>
<version>0.0.1-SNAPSHOT</version>
在其他项目中就引用这块就可以了
建立项目test2,图就不上了
在test2中引用test项目中的一个方法
MavenHello.say();
在test2的pom文件中关联上对test的依赖
在eclipse中test2已经可以引用test的方法了
如果要用命令行试试,必须先到test目录下(就是pom文件那个目录)运行maven install命令将test安装到本地的maven仓库中,我运行了截图如下:
进入我的maven仓库就可以看到我刚才安装的包:
我们可以到test2下运行maven compile,项目是可以编译通过的,这样项目关联已经完成了