這幾天因為項目需要,所以我需要搭建一個私服。
首先按照這個帖子上搭建Maven私服
http://blog.csdn.net/a973893384/article/details/46724227
但是這里有幾點不一樣的地方
1.我從官網上下載的最新版的是nexus-2.11.2-06,但是他帖子里的是2.11.3-01了,不知道是不是3這個版本不穩定,所以又退回到2了,總之我下的最新版比她帖子里的落后。
2.下載完以后,我建立了一個helloworld的例子,然后我想把這個文件打包到私服從。然后就一直報錯。
先說如何打包
首先你的pom.xml里要有如下的配置,這里說明一下一般releases是正式版,而snapshots是測試版,也就是測試的時候各種打snapshots,而准備好了可以打releases
<!-- 自動打包 --> <distributionManagement> <repository> <id>releases</id><!--這個ID需要與你的release倉庫的Repository ID一致--> <url>http://10.10.92.244:8081/nexus/content/repositories/releases/</url> </repository> <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標簽里
<server> <id>releases</id> <username>deployment</username> <password>123</password> </server> <server> <id>snapshots</id> <username>deployment</username> <password>123</password> </server>
當這個配置完以后,接下來就要看你pom.xml里的 <version>0.0.1-SNAPSHOT</version>屬性了
如果后邊帶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環境下運行