maven项目的运行方式,maven私服的上传下载
一、maven项目父子工程的运行方式
1.通过父项目的plugin下集成的tomacat run启动
2.通过自身项目的tomcat plugin启动,但前提是所依赖的项目必须全部都install(将项目打成jar包安装到本地maven仓库)(挨个install 或者直接install父工程)
3.通过配置idea的tomcat ……
二、maven私服的搭建与上传下载
2.1搭建 安装Nexus软件 默认端口8081
默认账号密码:admin admin123
仓库类型:
hosted:私服自身库
3rd 自己上传的第三方jar包
Snapshots 测试版
Release 正式版
proxy: 代理的三方远程中央仓库
virtual: maven1的(了解即可)
group
2.2本地pom集成上传maven私库
2.2.1 在pom文件中添加私服仓库的位置信息
<distributionManagement> <repository> <id>releases</id> <url>http://192.168.3.17/nexus/content/repositories/releases</url> </repository> <snapshotRepository> <id>snapshots</id> <url>http://192.168.3.17/nexus/content/repositories/snapshots</url> </snapshotRepository> </distributionManagement>
2.2.2 在setting.xml中添加私服的账号信息
<!-- 用于登录发布正式版本 --> <server> <id>releases</id> <username>admin</username> <password>admin123</password> </server> <!-- 用于登录发布快照版本 --> <server> <id>snapshots</id> <username>admin</username> <password>admin123</password> </server>
2.2.3注意id要对上
2.2.4执行上传
在项目生命周期的最后一个deploy执行后,上传就完成了(生命周期最后一站说明前面的clean啊insertt啊 都已经执行过了)
2.3本地pom自动下载私服上的jar到本地库
2.3.1 在setting.xml中添加profiles指向私服仓库地址
<profile> <!-- profile的id --> <id>dev</id> <repositories> <repository> <!-- 仓库id。repositorys可配置多个仓库,保证id不重复 --> <id>central</id> <name>central</name> <!-- 仓库地址 --> <url>http://192.168.3.17/nexus/content/groups/public/</url> <!-- 是否下载releases构件 --> <releases> <enabled>true</enabled> </releases> <!-- 是否下载snapshots构件 --> <snapshots> enabled>true</enabled> </snapshots> </repository> </repositories> <!-- 插件仓库 maven的运行依赖插件 也需要从私服下载插件--> <pluginRepositories> <pluginRepository> <!-- id不允许重复 否则后边会覆盖前边 --> <id>public</id> <name>Public Repository</name> <url>http://192.168.3.17/nexus/content/groups/public/</url> </pluginRepository> </pluginRepositories> </profile>
2.3.2 激活配置
<activeProfiles> <!-- profile的id --> <activeProfile>dev</activeProfile> </activeProfiles>
完成这时候运行项目的时候就会自动下载本地仓库缺失的jar
三、上传三放jar包到本地仓库
3.1进入jar包所在目录运行命令:
mvn install:install-file -DgroupId=com.alibaba -DartifactId=fastjson -Dversion=1.1.37 -Dfile=fastjson-1.1.37.jar -Dpackaging=jar
或者
mvn install:install-file -DgroupId=com.alibaba -DartifactId=fastjson -Dversion=1.1.37 -Dpackaging=jar -Dfile=(第三方jar包全路径名,例如:D:\fastjson-1.1.37.jar)
3.2上传三方jar到私服
3.2.1setting.xml添加:
<server> <id>thirdparty</id> <username>admin</username> <password>admin123</password> </server>
3.2.2打开cmd,进入jar包所在目录
3.2.3运行命令:
mvn deploy:deploy-file -DgroupId=com.alibaba -DartifactId=fastjson -Dversion=1.1.37 -Dpackaging=jar -Dfile=fastjson-1.1.37.jar -Durl=http://localhost:8081/nexus/content/repositories/thirdparty/ -DrepositoryId=thirdparty