Maven项目构建工具和Nexus私服

Maven项目构建工具

简介

MavenApache组织的一个开源项目,采用Java语言开发,用于构建Java项目。

优势

maven负责管理 jar依赖,项目工程中不需要jar,因此项目工程很轻量

功能

编译 测试 运行 打包 部署

安装

下载官网http://maven.apache.org/压缩包,解压后配置环境变量

配置文件

conf/settings.xml

localRepository 节点,指定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项目会打包成jarjava web项目会打包成war

 

打包后安装到本地仓库

mvn install

 

部署到远程仓库

mvn deploy

生命周期

1. clean生命周期 clean

 

2. 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

基于jettymaven私服,默认端口号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>

<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>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值