环境

安装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依赖中添加如下内容:

<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包了。

参考资料

在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: ... 解决方案

在Centos上搭建Maven中央仓库的更多相关文章

  1. [swift3.0]搭建iOS项目的忽略文件处理和注意事项

    贡献作者-【XJDomain】博客XJ:https://my.oschina.net/shengbingli/blogGitHub:https://github.com/lishengbing/XJQRCodeToolDemo1-正确搭建项目的步骤:01-:使用github或者git.Ochina网站进行托管项目,如果考虑私有还免费的话,建议git.Ochina网站,如果考虑到公开的话两者都可以使

  2. 如何创建一个自己的pod?

    创建pod你创建了一个库函数,想要共享它。为此代码创建podspec文件想要CocoaPods帮忙分享,就得按照它的要求,编写一个规格文件,以便说明作者,主页,授权等信息。仓库需要创建一个release,因为podspec会引用此release。首先:创建一个仓库,命名为robot在命令行内导航到你的工程目录,执行命令以便把代码传递到github仓库内gitinitgitadd.gitcommit-m"init"gitremoteaddorigingitpush-uoriginmaster在github上

  3. android – Nexus 7 Spinners太大了

    解决方法好的,我找到了解决方案.我上面发布的Spinner布局实际上是来自res/layout-xlarge的Spinner,而Nexus是一个大型设备.res/layout-large包含以下xml:应该是什么时候:这当然是为什么微调文本看起来如此之大.我想这突出了在没有物理测试设备的情况下尝试管理多种布局尺寸的难度.

  4. android – Nexus 6和MediaPlayer.VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING);

    嗨,我正在尝试使用视频文件制作背景活动.下面发布的解决方案适用于大多数设备,但nexus6Android5.1除外.视频正在运行,缩放但未裁剪,因此不保留纵横比.使用galaxyNote,HTCOnem7,XperiaZ3,Nexus5进行测试.这是代码:这是布局文件:目标sdk设置为22.您是否经历过这样的行为并且可以提出任何建议?

  5. 无法在Android Studio中启动AVD(Android虚拟设备)(在Mac上)

    谢谢,戴夫解决方法哇,多么痛苦.毕竟,事实证明只需关闭并重新打开AndroidStudio即可.另外,请注意虚拟设备似乎需要永远(几分钟?)才能出现.至少在我的MacBookAirMid2012上.处理器:1.8GHzi5内存4GB1600MHzDDR3.感谢MorrisonChang的想法.戴夫

  6. Nexus 7上的Android 4.2:canvas.drawText()无法正常工作

    我的应用程序面临严重问题,在GooglePlay上发布,显然在所有版本的Android上都运行良好,除了>4.0.这是我的Android4.0HTC手机的截图:这就是我在Nexus7,Android4.2.1上获得的:我看到使用canvas.drawText()绘制的每个文本都有相同的行为用于绘制文本的Paint是:在logCat中,我看到了很多我在清单中使用这些设置:解决方法经过大量的谷歌搜索,我回答了自己的问题……

  7. 无法将Nexus One手机连接到Android adb

    我是否需要重新启动它以重置为出厂版–即使它是全新的?对此的任何帮助都会很棒.如果adb无法查看设备,我无法在设备上测试我的应用程序.非常感谢提前.解决方法我有同样的问题.要使其正常工作,请执行以下操作:>关闭Eclipse>打开任务管理器并终止adb.exe程序.>重新打开Eclipse从命令提示符运行adb设备,您应该看到类似以下内容:当然,我假设您已将手机插入计算机.

  8. android – 在galaxy nexus上显示菜单按钮

    我需要在galaxynexus上显示一些活动的菜单按钮.我找不到怎么做,因为它默认隐藏它.我不想创建一个动作栏,因为它需要更多的空间,我想用于其他事情.当设置“android:targetSdkVersion”值低于14时,它似乎显示菜单按钮,但否则,它隐藏它.顺便说一句,活动需要全屏,没有标题/动作栏.非常奇怪的是,默认情况下,这个按钮没有显示在很多地方(甚至是发射器),在某些地方它确实存在.对

  9. Nexus One – Android 2.1发布,WHERE是2.1的SDK?

    Nexus安卓手机今天开始销售2.1Os.我的朋友刚刚订购了两个隔夜送货.我认为这意味着明天或第二天它将在他手中.如何让人们在他们的身上得到2.1,这是多么遥远开发人员甚至可以触摸SDK之前的手?我已经有了用户使用Nexis-Droid2.1rom说我的高度使用的小部件不起作用.我怎么能提前测试这个没有黑客攻击我的手机?当应用程序无法正常工作时,所有这一切都会让用户感到沮丧由于开发人员没有1星,因此降低了1星的市场有机会更新他们的代码.谢谢谷歌…

  10. 在nexus 5中使用Android相机捕获图像后的空指针

    在我的应用程序中,我使用Android设备相机捕获我的图像.在某些设备上它工作正常,但不是全部,我只是测试了LGnexus5E960,在我捕获图像后它总是结束崩溃而无法保存结果这是我的代码:我的logcat是:解决方法使用像并在Secondpage活动中得到像这样的图像浏览GettheThumbnail的Android开发人员文档

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部