Maven安装与使用
Posted Jinhao Chen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Maven安装与使用相关的知识,希望对你有一定的参考价值。
Maven
- settings.xml与仓库
- settings.xml配置本地仓库
<localRepository>/path/to/local/repo</localRepository>
- pom.xml为maven的核心文件, 用于保存maven的元信息, 指明maven如何运行, pom.xml放在项目的根目录下
在pom.xml中
- groupid标签为包名
- artifact标签为模块(一个maven工程, 有pom.xml)
- version版本
<dependency>
<groupId>org.bux.maven</groupId>
<artifactId>demo</artifactId>
<version>1.0.2 SNAPSHOT</version>
</dependency>
他们构成了坐标
对应的目录是: org/bux/maven/demo/1.0.2/*.jar
- plugin: 指明maven构建程序
使用maven创建项目
- 创建一个工作空间
- mvn命令创建
去互联网上拷贝即可
- mvn构建项目第一次执行时会下载一些组件, 结束之后就会一个maven工程目录src/main, src/test
对项目进行管理(在pom.xml所在位置)
- 编译
mvn compile
--> 生成target文件夹, 有一个classes在里面 - 测试
mvn test
步骤: 先编译后执行 --> 在target中生成test-class文件夹 - 清理
mvn clean
将编译文件清楚, 之后只剩下src文件夹 - 打包
mvn package
- 发布安装
mvn install
自动打包成jar并发布 - 发布到服务器(tomcat, jboss)
mvn deploy
--> 一般线上使用
将maven转为eclipse的project
- mvn eclipse:eclipse
将maven转为idea的project
- mvn idea:idea
启动tomcat
- mvn tomcat:run
关于仓库
- effective pom.xml = super pom.xml + user-define pom.xml, 模块中的pom集成parent的pom, 就是模块与父目录, 但是一般有子模块会在dependencies上有一个dependencyManagement标签
java开发流程
- 编写
- 调试
- 打包成jar或者war
- 发布
maven实现多模块
<modules>
<module>name</module>
<module>name</module>
</modules>
父目录管理子模块常用的配置(主要采用dependencyManagement标签统一管理版本)
使用dependencyManagement可以统一管理项目的版本号,确保应用的各个项目的依赖和版本一致,不用每个模块项目都弄一个版本号,不利于管理,当需要变更版本号的时候只需要在父类容器里更新,不需要任何一个子项目的修改;如果某个子项目需要另外一个特殊的版本号时,只需要在自己的模块dependencies中声明一个版本号即可。子类就会使用子类声明的版本号,不继承于父类版本号。
<property>
<spring-core.version>1.1.1</spring-core.version>
<property>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring-core.version}</version>
</dependency>
</dependencies>
</dependencyManagemet>
在子模块中指明
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</dependency>
在父目录中导入子模块的包
<dependencies>
<groupId>submodule-groupId</groupId> <artifactId>submodule-artifactId</artifactId>
<version>1.1.1</version>
</dependencies>
防止版本冲突
<property>
<log4j.version>1.1.1</log4j.version>
</property>
引用${log4j.version}
搭建私服
方法一
- 将war包拷贝到tomcat中
方法二
- 下载包含jetty的nexus
- http://localhost:8081/nexus
- 点击右上方的login等读admin, admin123
- indexer: 存放索引
- storage: 存放jar包
以上是关于Maven安装与使用的主要内容,如果未能解决你的问题,请参考以下文章
windows下代码规范检测工具sonarqube安装与使用,含与maven的结合
Jacoco和Tycho surefire的Eclipse RCP插件代码介绍
maven web项目的web.xml报错The markup in the document following the root element must be well-formed.(代码片段