Maven项目构建工具和Nexus私服
2017-07-11 14:31
633 查看
Maven项目构建工具
简介
Maven是Apache组织的一个开源项目,采用Java语言开发,用于构建Java项目。优势
maven负责管理 jar依赖,项目工程中不需要jar,因此项目工程很轻量功能
编译 测试 运行 打包 部署安装
下载官网http://maven.apache.org/压缩包,解压后配置环境变量配置文件
conf/settings.xmllocalRepository 节点,指定maven仓库的本地磁盘地址
jar下载方式
本地仓库 → 远程仓库(私服或中央仓库http://mvnrepository.com/)目录结构
src maven项目根目录main 主目录
java java 代码目录
resources 配置文件目录
webapp web资源文件目录
test 测试目录
java java 测试代码目录
resources 测试配置文件目录
target 编译目录
命令
创建项目创建 java 项目
mvn archetype:generate
-DgroupId={project.groupId}
-DartifactId={project.artifactId}
-Dversion={project.version}
-DarchetypeArtifactId=maven-archetype-quickstart
-DinteractiveMode=false
创建 java web
项目
mvn archetype:generate
-DgroupId={project.groupId}
-DartifactId={project.artifactId}
-DarchetypeArtifactId=maven-archetype-webapp
-Dversion={project.version}
-DinteractiveMode=false
例如:
mvn archetype:generate -DgroupId=org.kenny.demo -DartifactId=maven -DarchetypeArtifactId=maven-archetype-webapp -Dversion=1.0 -DinteractiveMode=false
编译项目,所有编译好的文件都放在target文件夹
mvn compile
清理编译文件,删除target文件夹
mvn clean
测试项目,运行test目录下的JUNIT测试
mvn test
打包项目
mvn package
java项目会打包成jar,java web项目会打包成war
打包后安装到本地仓库
mvn install
部署到远程仓库
mvn deploy
生命周期
1. clean生命周期 clean2. default生命周期 compile test package install deploy
3. site生命周期 site
jar 依赖范围 <scope></scope>
1. compile (默认)2. runtime 不参与编译,如 JDBC
驱动包
3. provided 不参与打包
4. test 不参与打包
依赖传递
1. 排除依赖<exclusions></exclusions>
2. 版本锁定
<dependencyManagement>
</dependencyManagement>
POM继承
创建一个<packaging>pom</packaging>的maven项目子项目中使用<parent></parent>实现继承
nexus私服
官网https://www.sonatype.com/nexus-repository-sonatype
配置文件 etc/nexus-default.properties
基于jetty的maven私服,默认端口号8081
启动命令 nexus.exe /run
仓库类型
1. 代理仓库
2. 中央仓库
3. 宿主仓库(本地仓库)
4. 仓库组
打包项目并部署到私服
修改 conf/settings.xml,在servers节点中加入<server>
<id>kenny-releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>kenny-snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
在项目的pom.xml中加入
<distributionManagement>
<repository>
<id>kenny-releases</id>
<url>http://localhost:8081/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>kenny-snapshots</id>
<url>http://localhost:8081/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
执行deploy命令部署到nexus
引用私服 jar
在maven的conf/settings.xml 配置文件的profiles节点中加入
<profile>
<id>env-dev</id>
<repositories>
<repository>
<id>kenny-repo</id>
<url>http://localhost:8081/repository/maven-public/</url>
<layout>default</layout>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
a49b
<pluginRepositories>
<!-- 插件仓库,maven的运行依赖插件,也需要从私服下载插件-->
<pluginRepository>
<id>public-repo</id>
<url>http://localhost:8081/repository/maven-public/</url>
</pluginRepository>
</pluginRepositories>
</profile>
在 profiles
节点后加入,激活配置
<activeProfiles>
<activeProfile>env-dev</activeProfile>
</activeProfiles>
相关文章推荐
- 项目构建maven-使用Nexus创建maven私服
- 项目构建之maven篇:5.仓库及nexus创建私服-1
- 项目构建之maven篇:5.仓库及nexus创建私服-2
- 【项目管理与构建】Maven搭建私服——Nexus的详细介绍以及安装(四)
- 【项目管理与构建】Maven搭建私服——Nexus的详细介绍以及安装(四)
- 项目构建工具-Maven入门(一)
- reindex-maven 私服(nexus)架设以及项目管理中遇到的问题及解决方案(updating)
- 项目构建工具 Maven
- mac下安装、配置nexus,构建maven私服
- 项目构建工具 Maven
- 项目构建工具 Maven
- 构建开源的项目环境(Spring/ibatis/maven/nexus)
- 项目管理及自动构建工具Maven
- maven构建android项目后,通过eclipse集成工具右键命令行方式部署到模拟器上进行调试
- Maven项目的打包发布到Nexus私服和服务器
- 将Maven项目发布到Nexus私服
- maven项目配置时私服nexus以及仓库repository的一些情况
- 必备项目构建工具Mavne&Ant,一天深度掌握Ant,Maven项目构建工具!
- maven构建的项目 发布jar到nexus上
- Maven项目里的pom解析和nexus私服