maven学习之1
最近用maven的时候各种出问题,打算系统的学习一下maven,搞明白依赖之类的。
(一)创建工程:
mvn archetype:generate 这样就可以根据提示来建立一个maven项目,常用的有:
-DgroupId=com.company.app 组id
-DartifactId=app 项目名称,maven会根据这个名称在当前目录下新建一个名为该名称的目录用于建立项目
-DinteractiveMode=false 是否已交互模式进行,如果是false的话就会采用默认设置建立项目
使用Maven建立简单项目时是省略了参数archetypeArtifactId,当没有指定该参数时默认将使用maven-archetype-quickstart。
1.建立一个web应用
mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-webapp -DgroupId=com.myhost.myapp -DartifactId=myapp
2.建立一个普通应用
Mvn archetype:generate –DarchetypeGroupId=org.apache.maven.archetypes –DarchetypeArtifactId=maven-archetype-quickstart –DgroupId=com.tiantian –DartifactId=jxc –DinteractiveMode=false(里面的例子是摘抄,实际开发中直接创建,不需要输入命令)
二 Maven 的相关命令
1.mvn compile:在idea的终端用指令mvn compile进行编译了。编译后的文件将放在项目根目录下的target目录中。
2.mvc test-compile:执行指令mvc test-compile进行测试源码编译。
3.mvc test:执行指令mvc test将先编译源码,再编译测试源码,然后执行测试代码
4.mvn package:行指令mvn package可以进行项目打包,打包方式是在项目根目录下的pom.xml文件中的packaging元素定义的,如果定义为jar则打为jar包,如果是war则打为war包,如果是ear则为ear包。如果pom.xml中没有定义packaging元素,则会使用默认值jar。打包后的文件将会放在项目根目录下的target目录下。打包后的文件名将是在pom.xml文件中定义的artifactId-version的形式,比如在pom.xml中定义的artifactId是hello,定义的version是1.0,则打包后生成的文件的名称将是hello-1.0。
5.mvn install:install-file:安装一个本地jar包到本地资源库的时候我们可以使用“mvn install:install-file”指令使用该指令时有几个参数需要指定。file:表示本地jar包所在的路径;groupId:表示jar包被安装到本地仓库之后的groupId;artifactId:表示jar包被安装到本地仓库之后的artifactId;version:表示安装到本地仓库之后对应的版本;packging:表示当前组件被引用的类型,既然我们是安装jar包则这里对应的自然是jar了
(此处问题为解决,一般不用吧自己的jar包打到仓库里吧,以后遇到在解决)
6.mvn deploy:安装当前项目到远程仓库。
7.mvn clean:清除存放临时文件的taget目录。
8.构建自己的archtype:
mvn install:install-file -Dfile=<filePath> -DgroupId=<groupId> -DartifactId=<artifactId> -Dversion=<version> -Dpackaging=<packagingType>
- mvn deploy:deploy-file
- -Dfile=<filePath>
- -DgroupId=<groupId>
- -DartifactId=<artifactId>
- -Dversion=<version>
- -Dpackaging=<packagingType>
- -DrepositoryId=<repositoryId>
- -Durl=<urlOfTheRepositoryToDeploy>