maven发布jar包到nexus

在编码过程中,有些通用的代码模块,有时候我们不想通过复制拷贝来粗暴地复用,因为这样不仅体现不了变化,也不利于统一管理。这里我们使用maven deploy的方式,将通用的模块打成jar包,发布到nexus,让其他的项目来引用,以更简洁高效的方式来实现复用和管理。

第一:maven的settings.xml文件中设置<server>标签

    <server>
      <id>release</id>
      <username>admin</username>
      <password>admin123</password>
    </server>

    <server>
      <id>snapshot</id>
      <username>admin</username>
      <password>admin123</password>
    </server>

此处设置的用户名和密码都是nexus的登陆配置

第二:在项目的pom.xml文件中设置

<distributionManagement>
    <repository>
        <id>release</id>
        <url>http://192.168.1.123:8081/nexus/content/repositories/releases/</url>
    </repository>

    <snapshotRepository>
        <id>snapshot</id>
        <url>http://192.168.1.123:8081/nexus/content/repositories/snapshots/</url>
    </snapshotRepository>
</distributionManagement>

在此,url都是nexus相应仓库的链接地址,这一步做完之后,已经完成了发布所需要的基本配置。【试试命令:mvn deploy

注意:<server>中的<id>要和<repository>、<snapshotRepository>的<id>一致,maven在发布时,会根据此id来查找相应的用户名密码进行登录验证并上传文件。

第三:发布的灵活性配置

maven会判断版本后面是否带了-SNAPSHOT,如果带了就发布到snapshots仓库,否则发布到release仓库。这里我们可以在pom.xml文件中,设置



<groupId>com.test</groupId>
<artifactId>my-test</artifactId>
<packaging>jar</packaging>
<version>${project.release.version}</version>

<properties>
    <java.version>1.8</java.version>
    <project.release.version>1.0-SNAPSHOT</project.release.version>
</properties>

<profiles>
    <profile>
        <id>product</id>
        <properties>
            <project.release.version>1.0</project.release.version>
        </properties>
    </profile>
</profiles>

说明:通过占位符${project.release.version}来控制需要发布的版本,用命令mvn deploy -P product,发布my-test的1.0版本到releases库。如果使用命令mvn deploy,则默认使用 1.0-SNAPSHOT版本号,将发布my-test的1.0-SNAPSHOT版本到snapshots库。

第四:发布时遇到的一些问题

1.部署到snapshot仓库时,jar包会带上时间戳,这没关系,maven会自动取相应版本最新的jar包;

2.Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.8.2:deploy (default-deploy) on project my-test: Failed to deploy artifacts: Could not transfer artifact...from/to release...

部署到release仓库时,相同版本的jar包不能提交。解决办法是修改一下版本号,再提交即可。

3.持续更新...

时间: 2024-10-06 19:59:49

maven发布jar包到nexus的相关文章

记一次Maven发布Jar包中文乱码解决方法

Maven deploy 乱码 今天使用Maven发布Jar包时,发布功能都是正常的也成功上传到了仓库,就是项目跑越来后出中文中现了乱码: { "code": "SUCCESS", "success": true, "message": "鎿嶄綔鎴愬姛", "data": [ { "key": "app_force_login", "va

Maven 如何发布 jar 包到 Nexus 私库

Nexus2可以通过管理界面来上传jar包到私库中,而最新的Nexus3却找不到了上传界面,只能通过以下方式来发布到私库. 发布第三方jar包 这种情况是maven远程仓库没有,本地有的第三方jar包,需要发布到私库. mvn deploy:deploy-file -DgroupId=com.example -DartifactId=test -Dversion=0.0.1 -Dpackaging=jar -Dfile=E:\workspace\test\WebRoot\WEB-INF\lib\

设置将Maven的jar包发布到lib

2,设置将Maven的jar包发布到lib下. Add -> Java Build Path Entries -> Maven Dependencies -> Finish 设置完成效果图

maven上传jar包到nexus私服后的存放路径 以及 使用IDEA上传jar包的步骤

maven上传jar包到nexus私服的方法,网上大神详解很多,那么上传后的jar包存放到哪里了呢? 在下使用nexus3.2.1版本,在本地搭建了私服,使用maven上传jar包.最后结果如下: 点进去后展示的是: 这让我一度以为是以jar包的形式保存在本地,但事实证明,保存在本地的最终是一个 .bytes 类型的文件,它的默认路径在\nexus-3.2.1-01-win64\sonatype-work\nexus3\blobs\default\content下面 即使jar包是同样的,但是d

上传jar包到nexus私服

摘要 通过网页和maven两种方式,上传本地的jar到nexus私服,以及引用jar时,自动引用依赖 1通过网页上传 这种方法只是上传了jar包.通过maven引用当前jar,不能取得jar的依赖   from pom的方式,选择pom文件,以及jar.通过maven引入jar时,会自动加载jar的依赖 2通过maven的方式depoly 在maven的conf/setting.xml 配置nexus私服的管理账号 在servers标签下添加server    <server>       &

maven 安装jar包命令

以 spring-context-support-3.1.0.RELEASE.jar 为例,在 @3图中已经给出这个 jar 包的 groupId,artifactId,version信息,手动安装的时候这些信息不要改,否则 Maven 项目移植的话,jar 包下载就会失败.顺便把这信息帖下面,方便对照: <dependency>    <groupId>org.springframework</groupId>    <artifactId>spring-

maven添加jar包依赖

maven的东西使用了一段时间,但是每次使用都多少有点含糊,所以总结一下. 目前主要使用是在jar包的控制上 原理: 在本地,指定一个文件夹,便是maven的仓库,maven会从远程的中央仓库中下载你需要的jar资源到你本地,然后通过maven关联,讲jar包依赖到你的项目中,避免了你需要将jar包拷贝到lib中,并通过classpath引入这些jar包的工作. 使用优点: 方便添加项目依赖的jar包,比如,你需要使用spring-mvc,那么,你必须引入spring-mvc及其相关的所有jar

maven生成jar包

改了部分cas源码,想重新生成jar包,只好试着脱离eclipse,学了一下maven打jar包的命令,记录如下: 1.首先下载maven (请注意自己的jdk版本,如果使用maven2建议使用jdk1.5,如果maven3建议使用jdk1.7,该建议不能保证准确,仅是个人结合当前开发环境实践的结果) 2.其次配置maven的bin目录到环境变量的path下 3.然后在cmd下进入要编译的项目目录(pom文件所在目录) 4.执行mvn clean (此前注意配置好"JAVA_HOME"

maven 添加jar包到本地仓库及到项目中

maven 构建项目时,可能会引用到一些公司的其他项目.或引用的jar 包在maven 主仓库加载不到. 这时我们可以将我们需要的jar 包安装到本地仓库中.方法如下. <dependency>    <groupId>org.springframework</groupId>    <artifactId>spring-context-support</artifactId>    <version>3.1.0.RELEASE<