mvn 命令行上传 jar 到 nexus

2,142 阅读2分钟

1、使用环境为 win10 下的 powershell,代码改改参数可以直接贴上去运行

2、建议在环境变量中,将 maven/bin/ 配置到 path 变量中

常用maven 命令参数
含义
mvn -v--version 显示版本信息;
mvn -h--help 显示帮助信息;
mvn -e--errors 控制Maven的日志级别,产生执行错误相关消息;
mvn -X--debug 控制Maven的日志级别,产生执行调试信息;
mvn -Pxxx激活 id 为 xxx的profile (如有多个,用逗号隔开);
mvn -Dxxx=yyy指定Java全局属性;
完整版本的命令参数
mvn -Dxxx 常用的属性
含义
groupId项目的 groupid
artifactId项目的 artifactId
version版本号
packaging打包方式【 jar / pom 】
file文件在本地磁盘的位置
pomFile相关的pom文件的的磁盘路径
urlnexus 私服所在服务器的 url
repositoryIdsetting 中配置的 nexus的库 id
# 示例
# 往私库 上传带 pom 的jar包,不指定的话,默认生成的pom文件里,是空白的,没有任何依赖
mvn deploy:deploy-file -DgroupId="groupId" -DartifactId="artifactId" -Dversion="1.0" -Dpackaging="jar" -Dfile="jar file path" -DpomFile="pom file path" -Durl="http://localhost:8081/repository/maven-releases/" -DrepositoryId="nexus" 
指定 settings.xml
mvn install --settings c:\user\settings.xml 
查看当前生效的 settings.xml
mvn help:effective-settings
常用命令
mvn compile 	# 编译,将Java 源程序编译成 class 字节码文件。
mvn test 		# 测试,并生成测试报告
mvn clean 		# 将以前编译得到的旧的 class 字节码文件删除
mvn pakage		# 打包,动态 web工程打 war包,Java工程打 jar 包
mvn install 	# 将项目生成 jar 包放在仓库中,以便别的模块调用
mvn deploy		# 将项目打包,发布到nexus

这里是我的 mavensettings.xml 文件

<?xml version="1.0" encoding="UTF-8"?>
<settings>
<localRepository>D:\maven3.5-r9\repos</localRepository>
    <servers>
        <server>
            <id>nexus</id>
            <username>admin</username>
            <password>admin</password>
        </server>
		<server>
            <id>releases</id>
            <username>admin</username>
            <password>admin</password>
        </server>
		<server>
            <id>snapshots</id>
            <username>admin</username>
            <password>admin</password>
        </server>
    </servers>

    <mirrors>
        <mirror>
            <id>nexus</id>
            <mirrorOf>*</mirrorOf>
            <url>http://localhost:8081/repository/maven-public/</url>
        </mirror>
    </mirrors>

    <profiles>
        <profile>
            <id>nexus</id>
            <repositories>
                <repository>
                    <id>nexus</id>
            		<url>http://localhost:8081/repository/maven-public/</url>
                    <releases>
                        <enabled>false</enabled>
                        <updatePolicy>always</updatePolicy>
                    </releases>
                    <snapshots>
                        <enabled>false</enabled>
                        <updatePolicy>always</updatePolicy>
                    </snapshots>
                </repository>
                <repository>
                    <id>releases</id>
                    <name>Nexus Release Repository</name>
                    <url>http://localhost:8081/repository/maven-releases</url>
                    <releases>
                        <enabled>true</enabled>
                        <updatePolicy>always</updatePolicy>
                    </releases>
                </repository>
                <repository>
                    <id>snapshots</id>
                    <name>Nexus Snapshot Repository</name>
                    <url>http://localhost:8081/repository/maven-snapshots</url>
                    <snapshots>
                        <enabled>true</enabled>
                        <updatePolicy>always</updatePolicy>
                    </snapshots>
                </repository>
            </repositories>
            <pluginRepositories>
                <pluginRepository>
                    <id>nexus-plugin</id>
                    <url>http://localhost:8081/repository/maven-public</url>
                    <releases>
                        <enabled>true</enabled>
                        <updatePolicy>always</updatePolicy>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                        <updatePolicy>always</updatePolicy>
                    </snapshots>
                </pluginRepository>
            </pluginRepositories>
        </profile>
        <profile>
            <id>jdk1.8</id>
            <activation>
                <activeByDefault>true</activeByDefault>
                <jdk>1.8</jdk>
            </activation>
            <properties>
                <maven.compiler.source>1.8</maven.compiler.source>
                <maven.compiler.target>1.8</maven.compiler.target>
                <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
            	<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>    
            </properties>
        </profile>
    </profiles>
    <activeProfiles>
        <activeProfile>nexus</activeProfile>
        <activeProfile>jdk1.8</activeProfile>
    </activeProfiles>
</settings>