{"id":1904,"date":"2023-03-31T20:57:17","date_gmt":"2023-03-31T12:57:17","guid":{"rendered":"https:\/\/www.appblog.cn\/?p=1904"},"modified":"2023-04-22T08:56:43","modified_gmt":"2023-04-22T00:56:43","slug":"maven-connect-nexus-configuration","status":"publish","type":"post","link":"https:\/\/www.appblog.cn\/index.php\/2023\/03\/31\/maven-connect-nexus-configuration\/","title":{"rendered":"Maven\u8fde\u63a5Nexus\u79c1\u670d\u914d\u7f6e"},"content":{"rendered":"<p><code>settings.xml<\/code>\u662fmaven\u7684\u5168\u5c40\u914d\u7f6e\u6587\u4ef6\uff0c\u800c<code>pom.xml<\/code>\u6587\u4ef6\u662f\u6240\u5728\u9879\u76ee\u7684\u5c40\u90e8\u914d\u7f6e\u3002<code>settings.xml<\/code>\u4e2d\u5305\u542b\u7c7b\u4f3c\u672c\u5730\u4ed3\u50a8\u4f4d\u7f6e\u3001\u4fee\u6539\u8fdc\u7a0b\u4ed3\u50a8\u670d\u52a1\u5668\u3001\u8ba4\u8bc1\u4fe1\u606f\u7b49\u914d\u7f6e\u3002<\/p>\n<h2>settings.xml\u6587\u4ef6\u4f4d\u7f6e<\/h2>\n<p><code>settings.xml<\/code>\u6587\u4ef6\u4e00\u822c\u5b58\u5728\u4e8e\u4e24\u4e2a\u4f4d\u7f6e\uff1a<\/p>\n<p><!-- more --><\/p>\n<ul>\n<li>\u5168\u5c40\u914d\u7f6e: <code>${M2_HOME}\/conf\/settings.xml<\/code><\/li>\n<li>\u7528\u6237\u914d\u7f6e: <code>{user.home}<\/code>\u548c\u6240\u6709\u5176\u4ed6\u7cfb\u7edf\u5c5e\u6027\u53ea\u80fd\u57283.0+\u7248\u672c\u4e0a\u4f7f\u7528<\/li>\n<\/ul>\n<h2>\u914d\u7f6e\u4f18\u5148\u7ea7<\/h2>\n<p>\u9700\u8981\u6ce8\u610f\u7684\u662f\uff1a\u5c40\u90e8\u914d\u7f6e\u4f18\u5148\u4e8e\u5168\u5c40\u914d\u7f6e<br \/>\n\u914d\u7f6e\u4f18\u5148\u7ea7\u4ece\u9ad8\u5230\u4f4e\uff1a<code>pom.xml -&gt; <\/code>user settings<code> -&gt; <\/code>global settings`<br \/>\n\u5982\u679c\u8fd9\u4e9b\u6587\u4ef6\u540c\u65f6\u5b58\u5728\uff0c\u5728\u5e94\u7528\u914d\u7f6e\u65f6\uff0c\u4f1a\u5408\u5e76\u5b83\u4eec\u7684\u5185\u5bb9\uff0c\u5982\u679c\u6709\u91cd\u590d\u7684\u914d\u7f6e\uff0c\u4f18\u5148\u7ea7\u9ad8\u7684\u914d\u7f6e\u4f1a\u8986\u76d6\u4f18\u5148\u7ea7\u4f4e\u7684<\/p>\n<p>maven\u600e\u4e48\u4ece\u8fdc\u7a0b\u4ed3\u5e93\u4e0b\u8f7djar\u5305\uff0csetting\u4e2d\u914d\u7f6e\uff1a<\/p>\n<pre><code class=\"language-xml\">  &lt;mirrors&gt;\n    &lt;!-- \u6211\u4eec\u4f7f\u7528maven\u4e0b\u8f7d\u9700\u8981\u7684jar\u5305\uff0c\u4f46\u662f\u5f88\u591a\u7684\u65f6\u5019\u7531\u4e8e\u4e2d\u592e\u4ed3\u5e93\u6ca1\u6709,\u6240\u4ee5\u6b64\u5904\u53ef\u4ee5\u5728maven\u7684\u8bbe\u7f6e\u4e2d\u5fc3\u6dfb\u52a0\u591a\u4e2a\u4e0b\u8f7d\u4ed3\u5e93\uff0c\u5f53\u4e2d\u592e\u4ed3\u5e93\u6ca1\u6709\u7684\u8bdd\uff0c\u7ee7\u7eed\u5230\u4e0b\u4e00\u4e2a\u4ed3\u5e93\u53bb\u4e0b\u8f7d --&gt;\n     &lt;mirror&gt;\n      &lt;id&gt;nexus&lt;\/id&gt;\n      &lt;name&gt;nexus maven&lt;\/name&gt;\n      &lt;url&gt;http:\/\/localhost:8081\/repository\/maven-public\/&lt;\/url&gt;\n      &lt;mirrorOf&gt;*&lt;\/mirrorOf&gt;        \n     &lt;\/mirror&gt; \n\n     &lt;mirror&gt;\n      &lt;id&gt;alimaven&lt;\/id&gt;\n      &lt;name&gt;aliyun maven&lt;\/name&gt;\n      &lt;url&gt;http:\/\/maven.aliyun.com\/nexus\/content\/groups\/public\/&lt;\/url&gt;\n      &lt;mirrorOf&gt;central&lt;\/mirrorOf&gt;        \n     &lt;\/mirror&gt; \n\n     &lt;mirror&gt;  \n      &lt;id&gt;repo2&lt;\/id&gt;  \n      &lt;mirrorOf&gt;central&lt;\/mirrorOf&gt;  \n      &lt;name&gt;Human Readable Name for this Mirror&lt;\/name&gt;  \n      &lt;url&gt;http:\/\/repo2.maven.org\/maven2\/&lt;\/url&gt;  \n    &lt;\/mirror&gt;\n  &lt;\/mirrors&gt;<\/code><\/pre>\n<h2>Nexus\u914d\u7f6e<\/h2>\n<p>\u9879\u76ee\u4f7f\u7528nexus\u79c1\u670d\u7684jar\u5305\uff0c\u5728\u9879\u76ee\u7684pom.xml\u6587\u4ef6\u4e2d\u6307\u5b9a\u79c1\u670d\u4ed3\u5e93<\/p>\n<pre><code class=\"language-xml\">&lt;repositories&gt;\n    &lt;repository&gt;\n        &lt;id&gt;nexus&lt;\/id&gt;\n        &lt;name&gt;nexus&lt;\/name&gt;\n        &lt;url&gt;http:\/\/192.168.1.103:8081\/nexus\/content\/groups\/public\/&lt;\/url&gt;\n        &lt;releases&gt;\n            &lt;enabled&gt;true&lt;\/enabled&gt;\n        &lt;\/releases&gt;\n        &lt;snapshots&gt;\n            &lt;enabled&gt;true&lt;\/enabled&gt;\n        &lt;\/snapshots&gt;\n    &lt;\/repository&gt;\n&lt;\/repositories&gt;<\/code><\/pre>\n<p>\u9879\u76ee\u4f7f\u7528nexus\u79c1\u670d\u7684\u63d2\u4ef6\uff0c\u5728\u9879\u76ee\u7684pom.xml\u6587\u4ef6\u4e2d\u6307\u5b9a\u63d2\u4ef6\u4ed3\u5e93<\/p>\n<pre><code class=\"language-xml\">&lt;pluginRepositories&gt;\n    &lt;pluginRepository&gt;\n        &lt;id&gt;nexus&lt;\/id&gt;\n        &lt;name&gt;nexus&lt;\/name&gt;\n        &lt;url&gt;http:\/\/192.168.1.103:8081\/nexus\/content\/groups\/public\/&lt;\/url&gt;\n        &lt;releases&gt;\n            &lt;enabled&gt;true&lt;\/enabled&gt;\n        &lt;\/releases&gt;\n        &lt;snapshots&gt;\n            &lt;enabled&gt;true&lt;\/enabled&gt;\n        &lt;\/snapshots&gt;\n    &lt;\/pluginRepository&gt;\n&lt;\/pluginRepositories&gt;<\/code><\/pre>\n<p>\u5982\u679c\u60f3\u672c\u673a\u6240\u6709\u7684maven\u9879\u76ee\u90fd\u4f7f\u7528\u79c1\u670d\u7684\u7ec4\u4ef6\uff0c\u53ef\u4ee5\u5728maven\u7684\u8bbe\u7f6e\u6587\u4ef6<code>settings.xml<\/code>\u4e2d\u6dfb\u52a0\u5c5e\u6027\uff0c\u5e76\u6fc0\u6d3b<\/p>\n<pre><code class=\"language-xml\">  &lt;\/profiles&gt;\n    &lt;profile&gt;\n      &lt;id&gt;Nexus&lt;\/id&gt;\n      &lt;repositories&gt;\n        &lt;repository&gt;\n          &lt;id&gt;nexus&lt;\/id&gt;\n          &lt;url&gt;http:\/\/localhost:8081\/repository\/maven-public\/&lt;\/url&gt;\n          &lt;releases&gt;\n            &lt;enabled&gt;true&lt;\/enabled&gt;\n          &lt;\/releases&gt;\n          &lt;snapshots&gt;\n            &lt;enabled&gt;true&lt;\/enabled&gt;\n          &lt;\/snapshots&gt;\n        &lt;\/repository&gt;\n      &lt;\/repositories&gt;\n      &lt;pluginRepositories&gt;\n        &lt;pluginRepository&gt;\n          &lt;id&gt;nexus&lt;\/id&gt;\n          &lt;url&gt;http:\/\/localhost:8081\/repository\/maven-public\/&lt;\/url&gt;\n          &lt;releases&gt;\n            &lt;enabled&gt;true&lt;\/enabled&gt;\n          &lt;\/releases&gt;\n          &lt;snapshots&gt;\n            &lt;enabled&gt;true&lt;\/enabled&gt;\n          &lt;\/snapshots&gt;\n        &lt;\/pluginRepository&gt;\n      &lt;\/pluginRepositories&gt;\n    &lt;\/profile&gt;\n  &lt;\/profiles&gt;\n  &lt;!-- \u6fc0\u6d3b --&gt;\n  &lt;activeProfiles&gt;\n    &lt;activeProfile&gt;Nexus&lt;\/activeProfile&gt;\n  &lt;\/activeProfiles&gt;<\/code><\/pre>\n<h2>\u5982\u4f55\u5c06\u81ea\u5df1\u7684\u9879\u76ee\u53d1\u5e03\u5230nexus\u79c1\u670d<\/h2>\n<p>\u6211\u4eec\u77e5\u9053\u7528<code>mvn install<\/code>\u547d\u4ee4\u53ef\u4ee5\u5c06\u9879\u76ee\u88c5\u8f7d\u7684\u672c\u5730\u7684\u4ed3\u5e93\uff0c\u4f46\u662f\u9879\u76ee\u53d1\u5e03\u5230\u79c1\u670d\uff0cmaven\u9879\u76ee\u5c31\u8981\u4f7f\u7528\u547d\u4ee4\uff1a<code>mvn clean deploy<\/code><br \/>\n\u8981\u60f3\u53d1\u5e03\u9879\u76ee\u5230nexus\u91cc\uff0c\u5fc5\u987b\u901a\u8fc7\u6807\u7b7e\u6765\u8fdb\u884c\u914d\u7f6e\u3002Nexus\u7684\u4ed3\u5e93\u7c7b\u522b\u5305\u62ec\uff1ahosted\u91cc\u7684Releases\u3001Snapshots.<\/p>\n<p>\u5f53\u6211\u4eec\u53d1\u5e03\u9879\u76ee\u5230nexus\u91cc\u65f6\uff0c\u5982\u679c\u9879\u76ee\u7248\u672c\u662f<code>x.x.x<\/code>\uff0c\u5219\u4f1a\u53d1\u5e03\u5230Releases\u4ed3\u5e93\u4e2d\uff1b\u800c\u9879\u76ee\u7248\u672c\u662f<code>x.x.x-SNAPSHOTS<\/code>\u5219\u53d1\u5e03\u5230Snapshots\u4ed3\u5e93\u4e2d\u3002<br \/>\n\u9700\u8981\u5728pom\u6587\u4ef6\u4e2d\u914d\u7f6e\u4e00\u4e0b\u4ee3\u7801\uff1b<\/p>\n<pre><code class=\"language-xml\">&lt;distributionManagement&gt;\n    &lt;repository&gt;\n        &lt;id&gt;nexus-releases&lt;\/id&gt;\n        &lt;name&gt;Nexus Release Repository&lt;\/name&gt;\n        &lt;url&gt;http:\/\/localhost:8081\/repository\/maven-releases\/&lt;\/url&gt;\n    &lt;\/repository&gt;\n    &lt;snapshotRepository&gt;\n        &lt;id&gt;nexus-snapshots&lt;\/id&gt;\n        &lt;name&gt;Nexus Snapshot Repository&lt;\/name&gt;\n        &lt;url&gt;http:\/\/localhost:8081\/repository\/maven-snapshots\/\/&lt;\/url&gt;\n    &lt;\/snapshotRepository&gt;\n&lt;\/distributionManagement&gt;<\/code><\/pre>\n<p>\u6ce8\u610f\u8fd8\u9700\u8981\u914d\u7f6emvn\u53d1\u5e03\u7684\u6743\u9650\uff0c\u5426\u5219\u4f1a\u62a5401\u9519\u8bef\uff0c\u5728<code>settings.xml<\/code>\u4e2d\u914d\u7f6e\u6743\u9650\uff0c\u5176\u4e2did\u8981\u4e0epom\u6587\u4ef6\u4e2d\u7684id\u4e00\u81f4<\/p>\n<pre><code class=\"language-xml\">  &lt;!--\u6388\u6743\u4fe1\u606f  --&gt;\n  &lt;server&gt; \n    &lt;id&gt;nexus-releases&lt;\/id&gt; \n    &lt;username&gt;admin&lt;\/username&gt; \n    &lt;password&gt;admin123&lt;\/password&gt; \n  &lt;\/server&gt; \n  &lt;server&gt; \n    &lt;id&gt;nexus-snapshots&lt;\/id&gt; \n    &lt;username&gt;admin&lt;\/username&gt; \n    &lt;password&gt;admin123&lt;\/password&gt; \n  &lt;\/server&gt;<\/code><\/pre>\n<p>\u8fd9\u91cc\u9762\u7684username\u548cpassword\u5bf9\u5e94\u7684\u662fnexus\u79c1\u670d\u4e2d\u5177\u6709\u53d1\u5e03\u6743\u9650\u7684\u7528\u6237\u540d\u548c\u5bc6\u7801<\/p>\n","protected":false},"excerpt":{"rendered":"<p>settings.xml\u662fmaven\u7684\u5168\u5c40\u914d\u7f6e\u6587\u4ef6\uff0c\u800cpom.xml\u6587\u4ef6\u662f\u6240\u5728\u9879\u76ee\u7684\u5c40\u90e8\u914d\u7f6e\u3002settings [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[341],"tags":[143],"class_list":["post-1904","post","type-post","status-publish","format-standard","hentry","category-nexus","tag-maven"],"_links":{"self":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/posts\/1904","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/comments?post=1904"}],"version-history":[{"count":0,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/posts\/1904\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/media?parent=1904"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/categories?post=1904"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/tags?post=1904"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}