Maven高级Maven常用命令clean:清理
compile:编译
test:测试
package:打包
install:安装 Maven的依赖范围依赖范围 对于编译classpath有效 对于测试classpath有效 对于运行时classpath有效 例子
compileYYYspring-core
test-Y-Junit
providedYY-servlet-api
runtime-YYJDBC驱动
systemYY-本地的,maven仓库之外的类库依赖冲突Maven提供的依赖调节原则第一声明者优先原则:产生依赖冲突时,Maven优先使用靠前的依赖,此时可以通过调换位置解决冲突
路径近者优先原则:若同一依赖的不同版本分别是直接导入的依赖和依赖传递的依赖,优先使用直接导入的依赖 排除依赖使用exclusions可以将依赖传递的冲突依赖直接排除 <!--排除依赖-->
<exclusions>
<exclusion>
<!--厂商-->
<artifactId>org.springframework</artifactId>
<!--包名-->
<groupId>spring-beans</groupId>
</exclusion>
</exclusions>版本锁定使用dependencyManagement将有冲突的依赖包裹,Maven默认使用包裹起来的版本,且后面的依赖可以不写版本号 <dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>4.2.4.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>5.0.5.RELEASE</version>
</dependency>
</dependencies>
</dependencyManagement>插件排除File >> Settings >> Plugins >> 搜索Maven Helper >> 重启IDE >> 点击项目pom.xml >> 删除冲突的依赖(conflicts) 搭建Maven私服windows下安装nexus打开cmd窗口并进入下载安装好的nexus的bin目录下,执行nexus.bat install命令安装服务(注意需要以管理员身份运行cmd命令)
在命令行执行nexus.bat start命令启动nexus
访问 http://localhost:8081/nexus ,进行登录,默认账号admin,密码admin123 linux下安装nexus解压 tar -zvxf nexus-3.10.0-04-unix.tar.gz解压的文件夹移到nexus(自动创建) mv nexus-3.10.0-04/ /usr/local/nexus防火墙开启8081端口,该端口是nexus的默认端口(在/usr/local/nexus/etc/nexus-default.properties文件中) vi /etc/sysconfig/iptables在打开的文件中加入如下内容 -A INPUT -p tcp -m state --state NEW -m tcp --dport 8081 -j ACCEPT启动 ./nexus run & ./nexus start成功页面 #启动成功会有如下信息
WARNING: ************************************************************
WARNING: Detected execution as "root" user. This is NOT recommended!
WARNING: ************************************************************
Starting nexusnexus仓库类型hosted,宿主仓库,部署自己的jar到这个类型的仓库,包括Releases和Snapshots两部分,Releases为公司内部发布版本仓库、 Snapshots为公司内部测试版本仓库 proxy,代理仓库,用于代理远程的公共仓库,如maven中央仓库,用户连接私服,私服自动去中央仓库下载jar包或者插件 group,仓库组,用来合并多个hosted/proxy仓库,通常我们配置自己的maven连接仓库组 virtual(虚拟):兼容Maven1版本的jar或者插件
项目发布到maven私服配置maven的settings.xml文件(注意:一定要在idea工具中引入的maven的settings.xml文件中配置 ) <server>
<id>releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>配置项目的pom.xml文件 <distributionManagement>
<repository>
<id>releases</id>
<url>http://localhost:8081/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>snapshots</id> <url>http://localhost:8081/nexus/content/repositories/snapshots/</url> </snapshotRepository>
</distributionManagement>执行mvn deploy命令 从私服下载jar到本地仓库在maven的settings.xml文件中配置下载模板 <profile>
<id>dev</id>
<repositories>
<repository>
<id>nexus</id>
<!--仓库地址,即nexus仓库组的地址-->
<url>
http://localhost:8081/nexus/content/groups/public/</url>
<!--是否下载releases构件-->
<releases>
<enabled>true</enabled>
</releases>
<!--是否下载snapshots构件-->
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<!-- 插件仓库,maven的运行依赖插件,也需要从私服下载插件 -->
<pluginRepository>
<id>public</id>
<name>Public Repositories</name>
<url>
http://localhost:8081/nexus/content/groups/public/</url>
</pluginRepository>
</pluginRepositories>
</profile>在maven的settings.xml文件中配置激活下载模板 <activeProfiles>
<activeProfile>dev</activeProfile>
</activeProfiles>将第三方jar安装到本地仓库和maven私服安装到本地仓库下载第三方jar包
mvn install命令进行安装 mvn install:install-file -Dfile=ojdbc14-10.2.0.4.0.jar -DgroupId=com.oracle -DartifactId=ojdbc14 –
Dversion=10.2.0.4.0 -Dpackaging=jar查看本地maven仓库,确认安装是否成功 安装到Maven私服下载第三方jar包
在maven的settings.xml配置文件中配置第三方仓库的server信息 <server>
<id>thirdparty</id>
<username>admin</username>
<password>admin123</password>
</server>执行mvn deploy命令进行安装 mvn deploy:deploy-file -Dfile=ojdbc14-10.2.0.4.0.jar -DgroupId=com.oracle -DartifactId=ojdbc14 –
Dversion=10.2.0.4.0 -Dpackaging=jar –
Durl=http://localhost:8081/nexus/content/repositories/thirdparty/ -DrepositoryId=thirdparty
|