资讯专栏INFORMATION COLUMN

在Centos上搭建Maven中央仓库

dance / 1941人阅读

摘要:该用户对应了所有未登录的匿名用户,它们可以浏览仓库并进行搜索。打包和部署首先我们需要修改本地的配置,添加远程仓库的用户名和密码。这里我们将使用那个仓库。

环境 安装JAVA

在这里使用yum来安装java的jdk,可以使用指令yum search java | grep jdk来查看yum下提供了哪些jdk版本。这里选择1.8版本,安装指令为:sudo yum install java-1.8.0-openjd

安装完毕后还需要修改环境变量,这里的环境变量我们将在/etc/profile.d中添加一个java.sh文件中设置,指令如下:

cd /etc/profile.d
sudo vim java.sh

在里面填写如下内容:

#set java environment
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.7.0.75.x86_64
JRE_HOME=$JAVA_HOME/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH

然后保存并退出。(这里需要了解vim的操作,本文将不详述)

最后在用source /etc/profile启动环境变量,可以使用java -version查看配置是否成功。

安装nexus

用wget获取nexus的安装包,这里我安装的是2.11.2版本,指令如下:

wget https://sonatype-download.global.ssl.fastly.net/nexus/oss/nexus-2.11.2-03-bundle.tar.gz

然后在当前目录下解压缩并进入文件夹:

tar -zxvf nexus-2.11.2-03-bundle.tar.gz
mv nexus-2.11.2-03 nexus #重命名文件夹
cd nexus

解压缩后可以看到有两个文件夹,一个是nexus服务,一个是它的私有仓库目录
然后编辑nexus脚本,它位于NEXUS_HOME/bin中,指令如下:

vi bin/nexus

RUN_AS_USER改为RUN_AS_USER=root

这里还需要调整你的防火墙配置,开放恰当的端口,这里就不赘述了。

然后使用下面指令启动nexus服务:

./bin/nexus start

这时就可以在浏览器上访问到nexus服务啦!

可以从右上角的Log In登录进入系统,默认的角色有三个,我们先用admin的角色进入系统,admin的默认密码为admin123.

点击左侧的users查看当前系统的用户。可以看到一共三个用户,admin,deployment和anonymous。

admin:该用户拥有Nexus的全部权限,默认密码为admin123。
deployment:该用户能够访问Nexus,浏览仓库内容、搜索、上传部署构件,但是不能对Nexus进行任何配置,默认密码为deployment123。
anonymous:该用户对应了所有未登录的匿名用户,它们可以浏览仓库并进行搜索。

再点击repositories我们可以看到有一下几种默认的类型,我们这里将使用third-party类型的repository,所以我们需要开启其支持编译上传

还有很多可以通过UI进行操作,我们这里将不再赘述。下面将介绍如何在本地通过maven将打包好的jar上传到nexus上。

Maven 打包和部署

首先我们需要修改本地的maven配置,添加远程仓库的用户名和密码。首先找到本地maven的settings.xml文件。可以使用mvn -version来找到maven的地址:


这里可以看到Maven home的地址,然后进入这个文件夹config下的settings.xml在里面添加server。这里我们将使用third party那个仓库。

然后在需要打包的项目的maven依赖中添加如下内容:

 
        
            
                org.apache.maven.plugins
                maven-compiler-plugin
                
                    1.8
                    1.8
                
            

            
                org.apache.maven.plugins
                maven-jar-plugin
                2.4
                
                    
                        
                            true
                            lib/
                        
                    
                
            

            
            
                maven-deploy-plugin
                
                    
                        deploy
                        deploy
                        
                            deploy
                        
                    
                
            
        
    

    
        

        
            3rd party
            REPOSITORY_URL
        
    

这里的REPOSITORY_URL是指你的仓库的位置,可以在之前展示的repository页面查看到
maven打包的指令

mvn clean package

此时会在./target目录下看到打包好的jar文件,然后使用如下指令部署:

mvn deploy:deploy-file -DgroupId=com.xy.oracle -DartifactId=ojdbc14 -Dversion=10.2.0.4.0 -Dpackaging=jar -Dfile=./target/xxx.jar -Durl=http://IP:8081/nexus/content/repositories/thirdparty/ -DrepositoryId=thirdparty

之后就可以在web端看到部署上去的jar包了。

参考资料

在centos上搭建nexus
Maven自动部署jar包至本地与远程私有仓库
Maven第四篇【私有仓库、上传jar包、引用私服jar包、上传本地项目到私服】
maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令
Maven-008-Nexus 私服部署发布报错 Failed to deploy artifacts: Failed to transfer file: ... Return code is: 4XX, ReasonPhrase: ... 解决方案


想要了解更多开发技术,面试教程以及互联网公司内推,欢迎关注我的微信公众号!将会不定期的发放福利哦~

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/10618.html

相关文章

  • Centos搭建Maven中央仓库

    摘要:该用户对应了所有未登录的匿名用户,它们可以浏览仓库并进行搜索。打包和部署首先我们需要修改本地的配置,添加远程仓库的用户名和密码。这里我们将使用那个仓库。 环境 安装JAVA 在这里使用yum来安装java的jdk,可以使用指令yum search java | grep jdk来查看yum下提供了哪些jdk版本。这里选择1.8版本,安装指令为:sudo yum install java...

    Astrian 评论0 收藏0
  • Maven 实战

    摘要:的主要思想是约定优于配置。强烈建议遵循以上规范,避免不必要的麻烦。依赖传递依赖范围除了控制,还会对依赖传递产生影响。此外还提供了和来进一步管理依赖,分别称为可选依赖和排除依赖。 showImg(https://segmentfault.com/img/remote/1460000012363876?w=1240&h=698); Maven 是跨平台的项目管理工具,主要服务于基于Java...

    twohappy 评论0 收藏0
  • Maven就是这么简单

    摘要:软件项目的管理就会变得简单很多。比如说的驱动程序,,在是获取不到的,就需要手工上传到里是仓库组,在里没有这个概念,是特有的。 什么是Maven Maven是一个采用纯Java编写的开源项目管理工具, Maven采用了一种被称之为Project Object Model (POM)概念来管理项目,所有的项目配置信息都被定义在一个叫做POM.xml的文件中.. Maven是一款跨平台的项目...

    leonardofed 评论0 收藏0
  • 如何Linux搭建一个Git中央仓库

    摘要:前言本教程只面向那些个人开发者,想要自己在上搭建一个中央仓库用来上传发布自己的项目。 前言:本教程只面向那些个人开发者,想要自己在linux上搭建一个git中央仓库用来上传发布自己的项目。但是对于团队来说可能有更高的要求,可以使用gitlab搭建一个可视化的类似github的版本管理系统 测试环境 我使用的linux版本是Centos7,如果大家使用的是其他发行版本,步骤也都是一样的 ...

    lbool 评论0 收藏0
  • Maven核心概念和日常实践

    摘要:项目根目录项目名项目版本号项目目录打包的名字二依赖管理概述通过在配置依赖坐标,会自动帮我们下载依赖的构件。关于父模块的依赖配置注意两点一般都是通过来配置所有依赖及其版本号,然后子模块,在自己的文件中声明依赖即可,不用再指定版本,以确保统一。 一、Maven 1.1 为什么写Maven 工欲善其事,必先利其器。如今Java相关开发,基本离不开Maven、Gradle、MAT、Hudson...

    894974231 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<