在Centos上搭建Maven中央仓库的方法

作者:raledong 时间:2022-05-30 19:32:24 

环境

安装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

在Centos上搭建Maven中央仓库的方法

解压缩后可以看到有两个文件夹,一个是nexus服务,一个是它的私有仓库目录

然后编辑nexus脚本,它位于NEXUS_HOME/bin中,指令如下:


vi bin/nexus

RUN_AS_USER改为RUN_AS_USER=root

在Centos上搭建Maven中央仓库的方法

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

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


./bin/nexus start

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

在Centos上搭建Maven中央仓库的方法

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

在Centos上搭建Maven中央仓库的方法

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

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

在Centos上搭建Maven中央仓库的方法

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

在Centos上搭建Maven中央仓库的方法

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

Maven 打包和部署

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

在Centos上搭建Maven中央仓库的方法

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

在Centos上搭建Maven中央仓库的方法

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


<build>
 <plugins>
  <plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-compiler-plugin</artifactId>
   <configuration>
    <source>1.8</source>
    <target>1.8</target>
   </configuration>
  </plugin>

<plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-jar-plugin</artifactId>
   <version>2.4</version>
   <configuration>
    <archive>
     <manifest>
      <addClasspath>true</addClasspath>
      <classpathPrefix>lib/</classpathPrefix>
     </manifest>
    </archive>
   </configuration>
  </plugin>

<!--部署插件-->
  <plugin>
   <artifactId>maven-deploy-plugin</artifactId>
   <executions>
    <execution>
     <id>deploy</id>
     <phase>deploy</phase>
     <goals>
      <goal>deploy</goal>
     </goals>
    </execution>
   </executions>
  </plugin>
 </plugins>
</build>

<distributionManagement>
 <!-- ID需要和全局配置文件中服务器配置的ID一致 -->

<repository>
  <id>3rd party</id>
  <url>REPOSITORY_URL</url>
 </repository>
</distributionManagement>

这里的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包了。

来源:https://segmentfault.com/a/1190000014442459

标签:Centos,Maven,中央仓库
0
投稿

猜你喜欢

  • Exchange 2007 新特性与二次开发

    2010-02-26 18:58:00
  • 视频网站的十字路口

    2008-01-16 19:00:00
  • 老谢:网站推广3个要点分析

    2009-04-18 17:33:00
  • 最新IDEA快速实现Docker镜像部署运行的过程详解

    2022-02-26 10:41:02
  • 小谈nofollow与优化 关于链接价值的取舍

    2009-01-08 08:58:00
  • 圣诞节英文词汇

    2008-12-23 13:58:00
  • Linux Shell脚本实现检测tomcat

    2023-11-03 02:27:41
  • 帝国、PHPCMS及织梦对比(三):自定义URL规则

    2011-05-18 11:19:00
  • 解析Web接口描述语言WSDL(6)

    2010-04-06 18:14:00
  • 传思科和EMC联手征战云计算 挑战IBM惠普

    2009-10-31 10:57:00
  • Discuz!7.0 中文验证码和语音验证码的使用技巧

    2009-09-05 07:09:00
  • 防护Web站点恶意链接的方法

    2007-08-14 15:21:00
  • google AdWords新功能介绍

    2008-08-08 12:42:00
  • Service Unavailable第六个原因

    2009-04-30 13:24:00
  • 保护WEB服务器的15个技巧

    2008-10-22 12:00:00
  • Goodaddy的静态优化支持

    2010-04-19 12:34:00
  • linux系统sudo命令详解

    2023-11-05 08:18:32
  • 利用博客写英文评论赚钱

    2009-05-27 01:20:00
  • 百度联盟:如何匹配相关度高的推广信息

    2009-04-14 10:25:00
  • 登陆页高效优化思路是简单再简单!

    2007-09-23 13:39:00
  • asp之家 网站运营 m.aspxhome.com