1.Maven使用,需要不同的JDK环境,但是系统配置【一个】环境变量,故开发指定JDK环境实现
mvn 和mvn.bat
mvn是linux系统使用的启动文件
mvn.cmd是window 使用的启动文件
以下方式均通过文本编辑方式打开
mvn:
在命令的上面增加 JAVA_HOME=你的JDK地址
mvn.bat
在命令的上面增加 set JAVA_HOME=C:\test\jdk_home
2.maven版本不同,拉取jar包失败!暂时需手动下载jar包,在安装到本地仓库
上传jar包到本地仓库
mvn install:install-file -DgroupId=com.zebra -DartifactId=ZSDK_API -Dversion=v2.12.3782 -Dpackaging=jar -Dfile=E:\perslib\ZSDK_API.jar
命令解释:
安装指定文件到本地仓库命令:mvn install:install-file
-DgroupId=<groupId> : 设置上传到仓库的包名
-DartifactId=<artifactId> : 设置该包所属的模块名
-Dversion=1.0.0 : 设置该包的版本号
-Dpackaging=jar : 设置该包的类型(很显然jar包)
-Dfile=<myfile.jar> : 设置该jar包文件所在的路径与文件名,就是你这个jar现在在哪放着
问题:两个maven各自的settings文件配置仓库不同。[虽是本地安装也会根据远程仓库/私服验证],默认的是系统环境变量配置的maven路径[默认A,但是我的项目用的B]
做法:到B的安装目录 bin文件【D:\apache-maven-3.8.6\bin】cmd 然后执行上述 mvn install 。。。。 就可以啦!
成功结果:
3.maven版本不同,但是项目工具 比如:idea可配置需要的maven版本
4.maven项目引入自定义的jar包
<dependency>
<groupId>com.effort</groupId> <!-- 自定义即可 -->
<artifactId>piapi</artifactId> <!-- jar名称 -->
<version>1.0.0</version> <!-- 如果jar包未指定自定义即可-->
<type>jar</type>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/resources/lib/piapi.jar</systemPath>
<!-- 使用jar所在的绝对路径 -->
</dependency>
此方法项目打包jar包一起打包。另一方式 如标题2
5.maven配置多个镜像
1.打开maven/conf/settings.xml文件 配置全局文件——中央仓库镜像
<mirrors>
<mirror>
<id>nexus1</id>
<mirrorOf>central</mirrorOf>
<url>http://ip1:8081/repository/maven-public/</url>
</mirror>
</mirrors>
<mirrorOf>*</mirrorOf>
匹配所有仓库请求,即将所有的仓库请求都转到该镜像上,除非增加的镜像放到*的前面就好
<mirrorOf>repo1,repo2</mirrorOf>
将仓库repo1和repo2的请求转到该镜像上,使用逗号分隔多个远程仓库。
<mirrorOf>*,!repo1</miiroOf>
匹配所有仓库请求,repo1除外,使用感叹号将仓库从匹配中排除。一般配置一个即可,其余放到pom配置
2.pom配置个别镜像
<!-- nexus私服配置 -->
<repositories>
<repository>
<id>nexus2</id>
<name>Nexus Repository</name>
<url>http://ip3:8081/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<!--snapshots默认是关闭的,需要开启 ,linux系统中-->
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
3.配置描述
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<profiles>
<profile>
<id>sit</id>
<activation>
<activeByDefault>true</activeByDefault>
# 默认情况下会激活该 profile sit
</activation>
<properties>
<ENV>SIT</ENV> #定义了一个名为 ENV 的属性,值为 "SIT"
</properties>
</profile>
<profile>
<id>uat</id>
<properties>
<ENV>UAT</ENV>
</properties>
</profile>
<profile>
<id>prd</id>
<properties>
<ENV>PRD</ENV>
</properties>
</profile>
# mvn clean install -PUAT [命令来激活 uat profile]
</profiles>
<distributionManagement> # 简单理解:发布
<snapshotRepository>
<id>swid</id> #唯一标识符为 "swid" 的快照版本远程仓库
<url>http://192.168.0.240:8080/repository/test-rep/</url>
</snapshotRepository>
# 当执行 mvn deploy 命令时,Maven 会将快照版本发布到这个仓库。
</distributionManagement>
<repositories>
<repository> #简单理解:获取依赖项
<id>swid2</id>
<name>swid2</name> #Maven 会从该仓库中获取依赖项
<url>http://192.168.0.240:8081/repository/maven-public/</url>
<snapshots> #启用了快照版本的检索
<enabled>true</enabled>
</snapshots>
<releases> #启用了稳定版本的检索
<enabled>true</enabled>
</releases>
</repository>
</repositories>
</project>