环境
Android Studio、Ubuntu16.04
前提
1、安装Java8;
2、安装Nexus3
开始配置
1、解压到/usr/local目录下
tar -zxvf nexus-3.10.0-04-unix.tar.gz -C /usr/local
2、修改配置文件
cd /usr/local/nexus-3.10.0-04/bin
sudo gedit nexus
3、启动
cd /usr/local/nexus-3.10.0-04/bin
sudo ./nexus run
然后我们就可以打开浏览器访问了,访问本地:
http://127.0.0.1:8081
点击右上角可以进行登录:
默认用户:admin 密码:admin123
创建本地库
1、先创建一个仓库
2、在项目根路径下的build.gradle下增加maven配置:
buildscript {
repositories {
//...
mavenLocal()
}
}
3、对于要上传的库Module下的build.gradle中增加配置:
apply plugin: 'maven'
android {
//...
uploadArchives{
repositories.mavenDeployer{
// url为新建的maven库地址
repository(url: "http://127.0.0.1:8081/repository/com.xxx.xx/") {
authentication(userName: "admin", password: "admin123")
}
// com.xxx.xx:thirdpardfunction:1.0
pom.version = "1.0"
pom.artifactId = "thirdpardfunction"
pom.groupId = "com.xxx.xx"
}
}
}
maven库地址:
4、刷新gradle后在右边窗口可以看到多了一个任务:
双击即可开始上传。
之后可以看到上传的结果:
配置远程仓库代理
这里我们可以选择配置
jcenter:
http://jcenter.bintray.com/
阿里:
http://maven.aliyun.com/nexus/content/groups/public/
jipack:
https://jitpack.io/
点击创建即可。
整合多个仓库
现在我们有多个仓库,我们希望能够同时引入,那么就需要把各个仓库添加到maven公共仓库中,这样我们可以一次性引入:
引用仓库
接下来,就是最重要的一步了,我们要在项目中引用我们搭建的私服。
1、在项目根路径下的build.gradle下增加maven配置:
allprojects {
repositories {
maven {
// 仓库的地址可以在仓库列表中点击“copy”按钮,弹出的文本框中就是地址。
// 此处引用了maven-public公共仓库
url "http://127.0.0.1:8081/repository/maven-public/"
// 可以单独引用某个仓库
// url "http://127.0.0.1:8081/repository/com.xxx.xx"
}
}
}
2、对于要引用的依赖,直接添加到项目中的build.gradle中 :
引用规则按照maven转gradle依赖的方式:groupId:badgeView:version
比如之前在com.xxx.xx仓库中上传了:
pom.version = "1.0"
pom.artifactId = "thirdpardfunction"
pom.groupId = "com.xxx.xx"
对应:
compile "com.xxx.xx:thirdpardfunction:1.0"
查看对应的maven依赖:
其他相关设置(以2.12.1-01版本配置为例)
1、将nexus2.12.1加入到系统服务中
[root@localhost nexus-2.12.1-01]# cp bin/nexus /etc/init.d/nexus2
//添加到开机启动
[root@localhost nexus-2.12.1-01]# chkconfig --add nexus2
//设置nexus服务开机自启动
[root@localhost nexus-2.12.1-01]# chkconfig nexus2 on
关于 chkconfig可以参考链接:
http://blog.csdn.net/jerry_1126/article/details/38684201
http://man.linuxde.net/chkconfig
https://www.cnblogs.com/qmfsun/p/3847459.html
2、修改Nexus2脚本的配置文件
使用vim命令,修改/etc/init.d/nexus2文件
vim /etc/init.d/nexus2
这里需要修改两个变量值
NEXUS_HOME修改为Nexus的解压目录 /usr/local/nexus-2.12.1-01/
RUN_AS_USER修改为 root
#-----------------------------------------------------------------------------
# These settings can be modified to fit the needs of your application
# Set this to the root of the Nexus installation
#NEXUS_HOME=".."
#修改为真正的Nexus目录
NEXUS_HOME="/usr/local/nexus-2.12.1-01/"
# If specified, the Wrapper will be run as the specified user.
# IMPORTANT - Make sure that the user has the required privileges to write into the Nexus installation directory.
# NOTE - This will set the user which is used to run the Wrapper as well as
# the JVM and is not useful in situations where a privileged resource or
# port needs to be allocated prior to the user being changed.
#RUN_AS_USER=
#将运行时的用户改为root
RUN_AS_USER=root
3、配置Nexus2启动时候的jdk版本
[root@localhost nexus-2.12.1-01]# vim bin/jsw/conf/wrapper.conf
需要将wrapper.java.command 设置为 java的真实路径,我们先使用 cat /etc/profile命令,获取到java的安装目录为 /usr/bin/java
JAVA_HOME=/usr/java
PATH=$PATH:%JAVA_HOME%/bin
CLASSPATH=%JAVA_HOME%/lib/dt.jar:%JAVA_HOME%/lib/tools.jar
[root@localhost nexus-2.12.1-01]# ls /usr/java/bin/
appletviewer idlj java javafxpackager javapackager jcmd jdb jinfo jmc jrunscript jstat keytool pack200 rmid serialver unpack200 xjc
ControlPanel jar javac javah java-rmi.cgi jconsole jdeps jjs jmc.ini jsadebugd jstatd native2ascii policytool rmiregistry servertool wsgen
extcheck jarsigner javadoc javap javaws jcontrol jhat jmap jps jstack jvisualvm orbd rmic schemagen tnameserv wsimport
[root@localhost nexus-2.12.1-01]#
在 /usr/local/nexus-2.12.1-01 目录下执行下面的命令
[root@localhost nexus-2.12.1-01]# vim bin/jsw/conf/wrapper.conf
需要将wrapper.java.command 设置为 java的真实路径,我们先使用 cat /etc/profile命令,获取到java的安装目录为 /usr/bin/java
JAVA_HOME=/usr/java
PATH=$PATH:%JAVA_HOME%/bin
CLASSPATH=%JAVA_HOME%/lib/dt.jar:%JAVA_HOME%/lib/tools.jar
[root@localhost nexus-2.12.1-01]# ls /usr/java/bin/
appletviewer idlj java javafxpackager javapackager jcmd jdb jinfo jmc jrunscript jstat keytool pack200 rmid serialver unpack200 xjc
ControlPanel jar javac javah java-rmi.cgi jconsole jdeps jjs jmc.ini jsadebugd jstatd native2ascii policytool rmiregistry servertool wsgen
extcheck jarsigner javadoc javap javaws jcontrol jhat jmap jps jstack jvisualvm orbd rmic schemagen tnameserv wsimport
[root@localhost nexus-2.12.1-01]#
因此wrapper.java.command 的值我们得设置为 /usr/java/bin/java
# Set the JSW working directory (used as base for resolving relative paths)
wrapper.working.dir=../../..
# Set the JVM executable
# (modify this to absolute path if you need a Java that is not on the OS path)
#wrapper.java.command=java
#设置好Java执行文件所处的位置
wrapper.java.command=/usr/java/bin/java
4、配置Nexus2监听的端口以及仓库存储位置
以上修改完毕后,我们再来修改nexus2.12.1监听的端口,以及仓库的存储位置,如下:
通过vim命令修改 conf/nexus.properties文件
[root@localhost nexus-2.12.1-01]# pwd
/usr/local/nexus-2.12.1-01
[root@localhost nexus-2.12.1-01]# ll
总用量 40
drwxr-xr-x 3 1001 1001 4096 12月 13 16:27 bin
drwxr-xr-x 2 1001 1001 4096 12月 13 16:27 conf
drwxr-xr-x 2 1001 1001 4096 12月 13 16:27 lib
-rw-r--r-- 1 1001 1001 11006 3月 3 2016 LICENSE.txt
drwxr-xr-x 2 1001 1001 4096 3月 3 2016 logs
drwxr-xr-x 4 1001 1001 4096 12月 13 16:27 nexus
-rw-r--r-- 1 1001 1001 782 3月 3 2016 NOTICE.txt
drwxr-xr-x 2 1001 1001 4096 3月 3 2016 tmp
[root@localhost nexus-2.12.1-01]# vim conf/nexus.properties
将application-port设置为8081,将nexus-work设置为${bundleBasedir}/../sonatype-work/nexus,如下所示
# Jetty section
application-port=8081
application-host=0.0.0.0
nexus-webapp=${bundleBasedir}/nexus
nexus-webapp-context-path=/nexus
# Nexus section
nexus-work=${bundleBasedir}/../sonatype-work/nexus
runtime=${bundleBasedir}/nexus/WEB-INF
参考:
https://jingyan.baidu.com/article/ff42efa9d526e4c19e220215.html
https://blog.csdn.net/u012939909/article/details/65631081
https://www.cnblogs.com/zyw-205520/p/6502183.html
网友评论