博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux搭建Maven Nexus
阅读量:6159 次
发布时间:2019-06-21

本文共 4264 字,大约阅读时间需要 14 分钟。

  hot3.png

用于建立本地MVN仓库,我就不在这里罗嗦了。 

当前的版本为2.0.6,可以直接 tar包,解压后进行简单配置就可以使用了! 
安装&配置Nexus 
闲言少叙,命令走起~ 

1
2
3
4
5
6
7
8
#下载
wget http:        
//www        
.sonatype.org        
/downloads/nexus-2        
.0.6-bundle.        
tar        
.gz
 
#解压
tar        
zxvf nexus-2.0.6-bundle.        
tar        
.gz
 
#做软链接,方便操作,应个人需要
ln        
-s nexus-2.0.6 nexus

解压后,应该获得如下目录结构: 

  • nexus-2.0.6是nexus服务主目录

  • sonatype-work是真正的仓库,同时包含了nexus的配置,如定时任务、用户配置等

 
nexus支持如下命令: 

引用

nexus { console | start | stop | restart | status | dump }

端口配置在 nexus/conf/nexus.properties文件中,文件如下: 

# Sonatype Nexus# ==============# This is the most basic configuration of Nexus.# Jetty sectionapplication-port=8081application-host=0.0.0.0nexus-webapp=${bundleBasedir}/nexusnexus-webapp-context-path=/nexus# Nexus sectionnexus-work=${bundleBasedir}/../sonatype-work/nexusruntime=${bundleBasedir}/nexus/WEB-INFpr.encryptor.publicKeyPath=/apr/public-key.txt

如果你需要修改nexus服务端口或IP,上面这段修改就是了。 
启动后,如下界面: 
 
默认管理员帐号: 
用户名:admin 
密码:admin123 
注:最好现在就修改管理员密码!,nexus已经做得很人性化了,我就介绍如何修改密码了! 
通常可以在maven工具里找到的包,也可以在这里找到: 
 
定制任务 
当然,为了让你的nexus更加智能,需要做一些定时任务,譬如定期下载索引,加快本地mvn检索速度。 
以建立定期下载索引为例,在 Administration选项中找到 Scheduled Tasks,在窗口页面点击 Add,进行配置: 
 
除此之外,我还经常要添加一些额外的jar到nexus中,譬如我要追加BC的组件包到nexus中,供团队其他开发成员使用。 
找到 View/Repositories,打开 Repositories窗口,选择 3rd party,进行如下配置: 
 
之后,就可以在这里找到该jar了: 
 
私服配置 
为了让你的maven默认访问你的私服,需要配置settings.xml: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<        
mirrors        
>
...
                
<        
mirror        
>
                    
<        
id        
>nexus</        
id        
>
                    
<        
mirrorOf        
>*</        
mirrorOf        
>
                    
<        
name        
>Nexus Mirror</        
name        
>
                    
<        
url        
><        
Your        
Nexus IP>/nexus/content/groups/public</        
url        
>
                
</        
mirror        
>
...
            
</        
mirrors        
>
...
            
<        
profiles        
>
                
<        
profile        
>
                    
<        
id        
>nexus</        
id        
>
                    
<        
repositories        
>
                        
<        
repository        
>
                            
<        
id        
>nexus</        
id        
>
                            
<        
name        
>local private nexus</        
name        
>
                            
<        
url        
><        
Your        
Nexus IP>/nexus/content/groups/public</        
url        
>
                            
<        
releases        
>
                                
<        
enabled        
>true</        
enabled        
>
                            
</        
releases        
>
                            
<        
snapshots        
>
                                
<        
enabled        
>false</        
enabled        
>
                            
</        
snapshots        
>
                        
</        
repository        
>
                        
<        
repository        
>
                            
<        
id        
>nexus</        
id        
>
                            
<        
name        
>local private nexus</        
name        
>
                            
<        
url        
><        
Your        
Nexus IP>/nexus/content/groups/public-snapshots</        
url        
>
                            
<        
releases        
>
                                
<        
enabled        
>false</        
enabled        
>
                            
</        
releases        
>
                            
<        
snapshots        
>
                                
<        
enabled        
>true</        
enabled        
>
                            
</        
snapshots        
>
                        
</        
repository        
>
 
                    
</        
repositories        
>
                    
<        
pluginRepositories        
>
                        
<        
pluginRepository        
>
                            
<        
id        
>nexus</        
id        
>
                            
<        
name        
>local private nexus</        
name        
>
                            
<        
url        
><        
Your        
Nexus IP>/nexus/content/groups/public</        
url        
>
                            
<        
releases        
>
                                
<        
enabled        
>true</        
enabled        
>
                            
</        
releases        
>
                            
<        
snapshots        
>
                                
<        
enabled        
>false</        
enabled        
>
                            
</        
snapshots        
>
                        
</        
pluginRepository        
>
                        
<        
pluginRepository        
>
                            
<        
id        
>nexus</        
id        
>
                            
<        
name        
>local private nexus</        
name        
>
                            
<        
url        
><        
Your        
Nexus IP>/nexus/content/groups/public-snapshots</        
url        
>
                            
<        
releases        
>
                                
<        
enabled        
>false</        
enabled        
>
                            
</        
releases        
>
                            
<        
snapshots        
>
                                
<        
enabled        
>true</        
enabled        
>
                            
</        
snapshots        
>
                        
</        
pluginRepository        
>
                    
</        
pluginRepositories        
>
                
</        
profile        
>
            
</        
profiles        
>
...
            
<        
activeProfiles        
>
                
<        
activeProfile        
>nexus</        
activeProfile        
>
            
</        
activeProfiles        
>

将jar部署至Nexus 
如果通过Eclipse Maven工具,或者直接操作Maven命令行,将jar部署至nexus: 
pom.xml 

  ...  
    
      
nexus-releases
        
Nexus Release Repository
        
http://
/nexus/content/repositories/releases/
    
    
      
nexus-snapshots
      
Nexus Snapshot Repository
      
http://
/nexus/content/repositories/snapshots/
    
  
  ...  

settings.xml 

  ...  
    
      
nexus-releases
      
admin
      
admin123
    
    
      
nexus-snapshots
      
admin
      
admin123
    
    
  ...  

最后,在项目目录中执行 mvn deploy 
如果想要在发布jar的同时,把source一通发布,需要做这个配置: 

1
2
3
4
5
6
7
8
9
10
11
<        
plugin        
>
                        
<        
groupId        
>org.apache.maven.plugins</        
groupId        
>
                        
<        
artifactId        
>maven-source-plugin</        
artifactId        
>
                        
<        
executions        
>
                            
<        
execution        
>
                                
<        
goals        
>
                                    
<        
goal        
>jar</        
goal        
>
                                
</        
goals        
>
                            
</        
execution        
>
                        
</        
executions        
>
                    
</        
plugin        
>

转载于:https://my.oschina.net/boonya/blog/295405

你可能感兴趣的文章
centos 下安装g++
查看>>
下一步工作分配
查看>>
Response. AppendHeader使用大全及文件下载.net函数使用注意点(转载)
查看>>
jQuery最佳实践
查看>>
centos64i386下apache 403没有权限访问。
查看>>
jquery用法大全
查看>>
PC-BSD 9.2 发布,基于 FreeBSD 9.2
查看>>
css斜线
查看>>
Windows phone 8 学习笔记(3) 通信
查看>>
Revit API找到风管穿过的墙(当前文档和链接文档)
查看>>
Scroll Depth – 衡量页面滚动的 Google 分析插件
查看>>
Windows 8.1 应用再出发 - 视图状态的更新
查看>>
自己制作交叉编译工具链
查看>>
Qt Style Sheet实践(四):行文本编辑框QLineEdit及自动补全
查看>>
[物理学与PDEs]第3章习题1 只有一个非零分量的磁场
查看>>
深入浅出NodeJS——数据通信,NET模块运行机制
查看>>
onInterceptTouchEvent和onTouchEvent调用时序
查看>>
android防止内存溢出浅析
查看>>
4.3.3版本之引擎bug
查看>>
SQL Server表分区详解
查看>>