首先需要安装nexus:http://www.sonatype.org/nexus/go/
如上图所示
执行命令解压tar包
<code class="hljs avrasm has-numbering">tar zxvf nexus-<span class="hljs-number">2.11</span><span class="hljs-number">.3</span>-<span class="hljs-number">01</span>-bundle<span class="hljs-preprocessor">.tar</span><span class="hljs-preprocessor">.gz</span></code><ul style="display: block;" class="pre-numbering"><li>1</li></ul>
进入解压好的目录
<code class="hljs bash has-numbering"><span class="hljs-built_in">cd</span> nexus-<span class="hljs-number">2.11</span>.<span class="hljs-number">3</span>-<span class="hljs-number">01</span></code><ul style="display: block;" class="pre-numbering"><li>1</li></ul>
进入bin目录运行nexus
<code class="hljs bash has-numbering"><span class="hljs-built_in">cd</span> bin ./nexus start</code><ul style="display: block;" class="pre-numbering"><li>1</li><li>2</li></ul>
关闭nexus的命令是
<code class="hljs vbnet has-numbering">./nexus <span class="hljs-keyword">stop</span></code><ul style="display: block;" class="pre-numbering"><li>1</li></ul>
启动成功后打开浏览器键入URL
http://localhost:8081/nexus/index.html
点击这里登陆
默认账户:admin
默认密码:admin123
将所有type为proxy的configuration配置选项中DownloadRemoteIndex置为True,然后点击Save保存
其中3rd party选项中可以上传第三方jar包一些maven下载不下来的,公共仓库上找不到的,就可以在3rd party中的Artifacts upload选项卡中上传jar包
新建组
将右边的Available Repositories全部拖到左边点击Save保存
将Releases仓库的Deployment Policy设置为*Allow ReDeploy
pom.xml配置
<code class="hljs xml has-numbering"><span class="hljs-comment"><!-- 私有仓库 --></span> <span class="hljs-tag"><<span class="hljs-title">repositories</span>></span> <span class="hljs-tag"><<span class="hljs-title">repository</span>></span> <span class="hljs-tag"><<span class="hljs-title">id</span>></span>public<span class="hljs-tag"></<span class="hljs-title">id</span>></span> <span class="hljs-comment"><!--这个ID需要与你新建的组group ID一致--></span> <span class="hljs-tag"><<span class="hljs-title">name</span>></span>Public Repository<span class="hljs-tag"></<span class="hljs-title">name</span>></span> <span class="hljs-tag"><<span class="hljs-title">url</span>></span>http://xxx.xx.xx.xx:8081/nexus/content/groups/public/<span class="hljs-tag"></<span class="hljs-title">url</span>></span> <span class="hljs-tag"></<span class="hljs-title">repository</span>></span> <span class="hljs-tag"></<span class="hljs-title">repositories</span>></span> <span class="hljs-comment"><!-- 自动打包 --></span> <span class="hljs-tag"><<span class="hljs-title">distributionManagement</span>></span> <span class="hljs-tag"><<span class="hljs-title">repository</span>></span> <span class="hljs-tag"><<span class="hljs-title">id</span>></span>releases<span class="hljs-tag"></<span class="hljs-title">id</span>></span><span class="hljs-comment"><!--这个ID需要与你的release仓库的Repository ID一致--></span> <span class="hljs-tag"><<span class="hljs-title">url</span>></span>http://xxx.xx.xx.xx:8081/nexus/content/repositories/releases<span class="hljs-tag"></<span class="hljs-title">url</span>></span> <span class="hljs-tag"></<span class="hljs-title">repository</span>></span> <span class="hljs-tag"><<span class="hljs-title">snapshotRepository</span>></span> <span class="hljs-tag"><<span class="hljs-title">id</span>></span>snapshots<span class="hljs-tag"></<span class="hljs-title">id</span>></span><span class="hljs-comment"><!--这个ID需要与你的snapshots仓库的Repository ID一致--></span> <span class="hljs-tag"><<span class="hljs-title">url</span>></span>http://xxx.xx.xx.xx:8081/nexus/content/repositories/snapshots<span class="hljs-tag"></<span class="hljs-title">url</span>></span> <span class="hljs-tag"></<span class="hljs-title">snapshotRepository</span>></span> <span class="hljs-tag"></<span class="hljs-title">distributionManagement</span>></span></code><ul style="display: block;" class="pre-numbering"><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li><li>6</li><li>7</li><li>8</li><li>9</li><li>10</li><li>11</li><li>12</li><li>13</li><li>14</li><li>15</li><li>16</li><li>17</li><li>18</li><li>19</li><li>20</li><li>21</li></ul>
设置deployment账户密码
setting.xml配置
<code class="hljs xml has-numbering"><span class="hljs-tag"><<span class="hljs-title">server</span>></span> <span class="hljs-tag"><<span class="hljs-title">id</span>></span>releases<span class="hljs-tag"></<span class="hljs-title">id</span>></span> <span class="hljs-tag"><<span class="hljs-title">username</span>></span>deployment<span class="hljs-tag"></<span class="hljs-title">username</span>></span> <span class="hljs-tag"><<span class="hljs-title">password</span>></span>admin123<span class="hljs-tag"></<span class="hljs-title">password</span>></span><span class="hljs-comment"><!--这个密码就是你设置的密码--></span> <span class="hljs-tag"></<span class="hljs-title">server</span>></span> <span class="hljs-tag"><<span class="hljs-title">server</span>></span> <span class="hljs-tag"><<span class="hljs-title">id</span>></span>snapshots<span class="hljs-tag"></<span class="hljs-title">id</span>></span> <span class="hljs-tag"><<span class="hljs-title">username</span>></span>deployment<span class="hljs-tag"></<span class="hljs-title">username</span>></span> <span class="hljs-tag"><<span class="hljs-title">password</span>></span>admin123<span class="hljs-tag"></<span class="hljs-title">password</span>></span><span class="hljs-comment"><!--这个密码就是你设置的密码--></span> <span class="hljs-tag"></<span class="hljs-title">server</span>></span></code><ul style="display: block;" class="pre-numbering"><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li><li>6</li><li>7</li><li>8</li><li>9</li><li>10</li></ul>
最后右键项目->Run As->Run Configurations双击左边选项卡的Maven Build新建一个,如图所示
最后就可以在仓库中看到打好的包
需要注意的是,当pom.xml中同时配置了releases仓库和snapshots仓库时pom.xml文件开头的版本配置<version>1.0.0-SNAPSHOT</version>
为build到snapshots库,而<version>1.0.0</version>
**不带-SNAPSHOT的会build到releases库,如果只配置了releases库而版本号写的是带-SNAPSHOT的,build到最后一步会报400错误。