Maven服务器搭建经验总结
这几天因为项目需要,所以我需要搭建一个私服。
首先按照这个帖子上搭建Maven私服
但是这里有几点不一样的地方
1.我从官网上下载的最新版的是nexus-2.11.2-06,但是他帖子里的是2.11.3-01了,不知道是不是3这个版本不稳定,所以又退回到2了,总之我下的最新版比她帖子里的落后。
2.下载完以后,我建立了一个helloworld的例子,然后我想把这个文件打包到私服从。然后就一直报错。
先说如何打包
首先你的pom.xml里要有如下的配置,这里说明一下一般releases是正式版,而snapshots是测试版,也就是测试的时候各种打snapshots,而准备好了可以打releases
releases
http://10.10.92.244:8081/nexus/content/repositories/releases/
<snapshotRepository>
<id>snapshots</id><!--这个ID需要与你的snapshots仓库的Repository ID一致-->
<url>http://10.10.92.244:8081/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
然后要在你的maven客户端的settings.xml里添加配置,放在servers标签里
xml <server> <id>releases</id> <username>deployment</username> <password>123</password> </server> <server> <id>snapshots</id> <username>deployment</username> <password>123</password> </server>
当这个配置完以后,接下来就要看你pom.xml里的 0.0.1-SNAPSHOT属性了
如果后边带SNAPSHOT,则是打包到snapshots,如果不带,则打包到releases
但是我这里打包一直出问题报这个文件格式不对maven-metadata-snapshots.xml,我在网上搜这个文件名都很少能搜到。包的错误是XML格式的错误。
然后我打开这个文件,发现里边不是XML,而是HTML,而且是个错误页的HTML,但是里边的内容被我公司网站屏蔽了,我当时以为是公司网络问题导致的,但是后来发现不是。
这个问题我一直没解决,后来我的处理办法是。
首先从新下载了一个maven客户端,我用的是apache-maven-3.3.3,其实之前也是这个版本,只是里边的settings.xml被我改了好多
所以我从新弄了个新的,之后我把本地仓库地址也改了,换了个本地仓库,我的地址是E:\repository
换完这2个以后,直接打包程序,就一次通过了,虽然没解决这个文件maven-metadata-snapshots.xml报错的问题,但是换了环境就好用了。
这里我又遇到几个问题,持续更新一下。
这次我使用的版本是nexus-2.11.3-01
第一个问题是不能正常启动.是引文文件夹权限不够,我执行了命令 chmod -R 777 nexus-2.11.3-01/
然后启动又出现了提示
If you insist running as root, then set the environment variable RUN_AS_USER=root before running this script.
解决方案
在命令行下输入:
export RUN_AS_USER=root
然后执行,就不会再提示了
./nexus start
3、也可以在系统里面永久配置
vi /etc/profile 加入export RUN_AS_USER=root
我这里使用的是永久方案,但是写入以后是不能执行的,需要执行下边的命令,让修改生效。
source /etc/profile
最后这个版本的nexus需要在JDK1.7环境下运行