发布源码及依赖到网络maven仓库
?
目的:
? ? 通過eclipse工具,使用maven命令,將maven工程編譯后的jar、源碼、依賴環(huán)境,都發(fā)布到網(wǎng)絡(luò)maven倉庫;
? ? 方便其他工程引用,查看源碼,及自動下載依賴環(huán)境;
?
??
具體步驟如下:
?
1、發(fā)布源碼及jar到遠(yuǎn)程倉庫
---------------------------------------------
a)在工程pom文件中添加源碼支持插件
<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-source-plugin</artifactId><version>2.3</version><configuration><attach>true</attach></configuration><executions><execution><phase>compile</phase><goals><goal>jar</goal></goals></execution></executions> </plugin>b)有必要添加插件deploy的配置
同樣是在pom文件中添加
<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-deploy-plugin</artifactId><version>2.8.1</version> </plugin>c)設(shè)置遠(yuǎn)程倉庫提交地址及提交用戶信息
在pom文件中設(shè)置遠(yuǎn)程倉庫的地址信息
<repositories> <repository> <id>nexus</id> <name>nexus public mirror</name> <url>http://10.31.44.6:8081/nexus/content/groups/public</url> <layout>default</layout> <releases> <enabled>false</enabled> <updatePolicy>never</updatePolicy> </releases> <snapshots> <enabled>true</enabled> <updatePolicy>never</updatePolicy> </snapshots> </repository> <repository> <id>thirdparty</id> <name>3rd party</name> <url>http://10.31.44.6:8081/nexus/content/repositories/thirdparty</url> <layout>default</layout> <releases> <enabled>true</enabled> <updatePolicy>never</updatePolicy> </releases> <snapshots> <enabled>false</enabled> <updatePolicy>never</updatePolicy> </snapshots> </repository> </repositories><distributionManagement> <repository> <id>releases</id> <name>Releases</name> <url>http://10.31.44.6:8081/nexus/content/repositories/releases</url> </repository> <snapshotRepository> <id>snapshots</id> <url>http://10.31.44.6:8081/nexus/content/repositories/snapshots</url> </snapshotRepository></distributionManagement>同時(shí),需要在maven的setting.xml中設(shè)置提交的用戶信息
這些用戶信息,可以在jar倉庫web界面的左側(cè)Security中選擇Users,右面的列表中呈現(xiàn)了當(dāng)前的用戶,可另行設(shè)置密碼;
<servers> <server> <id>releases</id> <username>deployment</username> <password>deploy</password> </server> </servers>d)設(shè)置提交的遠(yuǎn)程倉庫允許重復(fù)提交
后提交的覆蓋之前的,在遠(yuǎn)程倉庫web界面中,按照如下步驟操作,完成后點(diǎn)擊按鈕【save】保存。
?
穩(wěn)定jar發(fā)布到倉庫中
? ? 備注:這里主要是發(fā)布到第三方庫中
i)修改maven工具的setting.xml
修改apache-maven工具的配置setting.xml,如下
<!-- 穩(wěn)定發(fā)布目錄上傳 --> <server> <id>thirdparty</id> <username>admin</username> <password>admin123</password> </server>這里配置的id( thirdparty ),必須要和項(xiàng)目中pom文件里配置的一致,否則上傳會出錯(cuò);
?
ii)修改項(xiàng)目的pom
<distributionManagement> <repository> <id>thirdparty</id> <name>thirdparty</name> <url>http://10.31.44.6:8081/nexus/content/repositories/thirdparty</url> </repository> <snapshotRepository> <id>snapshots</id> <url>http://10.31.44.6:8081/nexus/content/repositories/snapshots</url> </snapshotRepository></distributionManagement>主要是下面3個(gè)節(jié)點(diǎn)的修改,id、name的值,從nexus上可以查看到
<id>thirdparty</id> <name>thirdparty</name> <url>http://10.31.44.6:8081/nexus/content/repositories/thirdparty</url>?
e)發(fā)布到網(wǎng)絡(luò)maven倉庫
在eclipse中,點(diǎn)擊 工程的pom.xml文件,右鍵選擇Run As >> Maven build...,彈出如下框,按下面填寫,執(zhí)行;
?
f)查看發(fā)布結(jié)果
完成后可到網(wǎng)絡(luò)maven倉庫中查看發(fā)布的結(jié)果;
下面是amserver工程的子模塊module-message遠(yuǎn)程發(fā)布的情況,這個(gè)里面包含了三部分
源代碼 ? ?-- 方便其他工程引用時(shí)查看源實(shí)現(xiàn)邏輯;
pom描述 ? -- 包含此工程的依賴
編譯后的jar ?-- 編譯、引用需要
?
下面是pom文件內(nèi)容,在這里,會引用父工程amserver的pom文件
-- module-message-1.0.3.pom
<?xml version="1.0" encoding="utf-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.boco.wnms.dal</groupId> <artifactId>amserver</artifactId> <version>1.0.3</version> </parent> <artifactId>module-message</artifactId> <name>MessageFactory</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>GBK</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <artifactId>maven-jar-plugin</artifactId> <version>2.3.1</version> <executions> <execution> <id>default-jar</id> <phase>package</phase> <configuration> <includes> <classesDirectory>com/**</classesDirectory> <classesDirectory>tmpl/*.tmpl</classesDirectory> </includes> </configuration> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </project>--?amserver-1.0.3.pom
<?xml version="1.0" encoding="utf-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.boco.wnms.dal</groupId> <artifactId>amserver</artifactId> <version>1.0.3</version> <packaging>pom</packaging> <name>amserver</name> <url>http://maven.apache.org</url> <organization> <name>億陽信通股份有限公司</name> <url>http://www.boco.com.cn</url> </organization> <issueManagement> <system>問題平臺</system> <url>http://124.127.106.14/flat</url> </issueManagement> <developers> <developer> <name>馮峰</name> <id>fengfeng</id> <email>fengfeng@boco.com.cn</email> <organization>boco</organization> <organizationUrl>http://www.boco.com.cn</organizationUrl> <timezone>+8</timezone> <roles> <role>詳細(xì)設(shè)計(jì)</role> </roles> </developer> <developer> <name>馮峰</name> <id>fengfeng</id> <email>fengfeng@boco.com.cn</email> <organization>boco</organization> <organizationUrl>http://www.boco.com.cn</organizationUrl> <timezone>+8</timezone> <roles> <role>開發(fā)人員</role> </roles> </developer> </developers> <modules> <module>module-message</module> <module>module-mqoperator</module> <module>module-kafka</module> <module>amserver-build</module> <module>amserver-main</module> <module>amserver-business</module> </modules> <properties> <project.build.sourceEncoding>GBK</project.build.sourceEncoding> <log4j.version>1.2.14</log4j.version> <junit.version>4.10</junit.version> <commons-lang.version>2.6</commons-lang.version> <commons-dbcp.version>1.3</commons-dbcp.version> <org.springframework.version>4.0.2.RELEASE</org.springframework.version> <informix.jdbc.version>3.50.JC9</informix.jdbc.version> <proxool.version>0.9.1</proxool.version> <ojdbc6.version>11.2.0.3</ojdbc6.version> <com.boco.pwd>1.0</com.boco.pwd> <mqApiWrapper.version>1.8</mqApiWrapper.version> <org.slf4j.version>1.6.4</org.slf4j.version> <ch.qos.logback.version>1.1.2</ch.qos.logback.version> <ehcache-ee.version>2.8.1</ehcache-ee.version> <jms-api.version>1.1-rev-1</jms-api.version> <jbossmq-client.version>4.0.2</jbossmq-client.version> <com.ibm.mq.version>7.0.1.8</com.ibm.mq.version> <groovy-all.version>2.3.2</groovy-all.version> <oro.version>2.0.8</oro.version> <commons-beanutils.version>1.8.3</commons-beanutils.version> <commons-net.version>3.1</commons-net.version> <commons-pool.version>1.6</commons-pool.version> <org.apache.tuscany.sdo.version>1.1.1</org.apache.tuscany.sdo.version> <jdom.version>1.1</jdom.version> <h2.version>1.3.172</h2.version> <org.hibernate.version>4.3.0.Final</org.hibernate.version> <quartz.version>2.2.1</quartz.version> <javassist.version>3.12.1.GA</javassist.version> <commons-chain.version>1.2</commons-chain.version> <commons-io.version>2.1</commons-io.version> <commons-digeste.version>2.1</commons-digeste.version> <commons-logging.version>1.1.1</commons-logging.version> <commonutils.version>0.1.0</commonutils.version> <connector.version>1.0</connector.version> <org.jdom.version>1.0-FCS</org.jdom.version> <alarmlogapi.version>1.0.0</alarmlogapi.version> <disruptor.version>3.2.0</disruptor.version> <protobuf-java.version>2.4.1</protobuf-java.version> <jyaml.version>1.3</jyaml.version> <snakeyaml.version>1.13</snakeyaml.version> <zookeeper.version>3.4.5</zookeeper.version> <UCMPClient.version>0.2.7</UCMPClient.version> <perf4j.version>0.9.16</perf4j.version> <org.aspectj.version>1.6.12</org.aspectj.version> <commons-jexl.version>1.1</commons-jexl.version> <cglib.version>2.2.2</cglib.version> <slf4j-log4j12.version>1.7.5</slf4j-log4j12.version> <connector-api.version>1.5</connector-api.version> <jfm.version>1.9.5</jfm.version> <access.version>1.0.3</access.version> <commons-collections.version>3.2.1</commons-collections.version> <jdbc.oracle.version>10.2.0.1.0</jdbc.oracle.version> <jackson.version>1.7.9</jackson.version> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${junit.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>${org.slf4j.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${org.slf4j.version}</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>${ch.qos.logback.version}</version> </dependency> <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>${commons-lang.version}</version> </dependency> <dependency> <groupId>commons-dbcp</groupId> <artifactId>commons-dbcp</artifactId> <version>${commons-dbcp.version}</version> </dependency> <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>${commons-collections.version}</version> </dependency> <dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-all</artifactId> <version>${groovy-all.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${org.springframework.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>${org.springframework.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${org.springframework.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${org.springframework.version}</version> </dependency> <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc14</artifactId> <version>${jdbc.oracle.version}</version> </dependency> <dependency> <groupId>com.ibm</groupId> <artifactId>ifxjdbc</artifactId> <version>${informix.jdbc.version}</version> </dependency> <dependency> <groupId>com.boco.zhjk.dal</groupId> <artifactId>commonutils</artifactId> <version>${commonutils.version}</version> </dependency> <dependency> <groupId>com.boco</groupId> <artifactId>mqApiWrapper</artifactId> <version>${mqApiWrapper.version}</version> </dependency> <dependency> <groupId>com.boco.wnms.dal</groupId> <artifactId>jfmhandler-as-console</artifactId> <version>${jfm.version}</version> </dependency> <dependency> <groupId>com.boco.wnms.dal</groupId> <artifactId>jfmhandler-as-dispatcher</artifactId> <version>${jfm.version}</version> </dependency> <dependency> <groupId>com.boco.wnms.dal</groupId> <artifactId>jfmhandler-as-console</artifactId> <version>${jfm.version}</version> </dependency> <dependency> <groupId>com.boco.zhjk.dal</groupId> <artifactId>access</artifactId> <version>${access.version}</version> </dependency> <dependency> <groupId>com.boco.wnms.dal</groupId> <artifactId>module-message</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>com.boco.wnms.dal</groupId> <artifactId>module-mqoperator</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>com.boco.wnms.dal</groupId> <artifactId>module-kafka</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>com.boco.wnms.dal</groupId> <artifactId>module-business</artifactId> <version>${project.version}</version> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> </dependency> <dependency> <groupId>commons-dbcp</groupId> <artifactId>commons-dbcp</artifactId> </dependency> <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> </dependency> <dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-all</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> </dependency> <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc14</artifactId> </dependency> <dependency> <groupId>com.ibm</groupId> <artifactId>ifxjdbc</artifactId> </dependency> <dependency> <groupId>com.boco.zhjk.dal</groupId> <artifactId>commonutils</artifactId> </dependency> <dependency> <groupId>com.boco</groupId> <artifactId>mqApiWrapper</artifactId> </dependency> <dependency> <groupId>com.boco.wnms.dal</groupId> <artifactId>jfmhandler-as-console</artifactId> </dependency> <dependency> <groupId>com.boco.wnms.dal</groupId> <artifactId>jfmhandler-as-dispatcher</artifactId> </dependency> <dependency> <groupId>com.boco.wnms.dal</groupId> <artifactId>jfmhandler-as-console</artifactId> </dependency> <dependency> <groupId>com.boco.zhjk.dal</groupId> <artifactId>access</artifactId> </dependency> <dependency> <groupId>BOCO</groupId> <artifactId>UCMPClient</artifactId> <version>0.2.7</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.1.4</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.1.4</version> </dependency> <dependency> <groupId>com.101tec</groupId> <artifactId>zkclient</artifactId> <version>0.4</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.4.5</version> <exclusions> <exclusion> <artifactId>slf4j-log4j12</artifactId> <groupId>org.slf4j</groupId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jackson-dataformat-yaml</artifactId> <version>2.1.4</version> </dependency> </dependencies> <repositories> <repository> <id>nexus</id> <name>nexus public mirror</name> <url>http://10.31.4.90:8081/nexus/content/groups/public</url> <layout>default</layout> <releases> <enabled>false</enabled> <updatePolicy>never</updatePolicy> </releases> <snapshots> <enabled>true</enabled> <updatePolicy>never</updatePolicy> </snapshots> </repository> <repository> <id>thirdparty</id> <name>3rd party</name> <url>http://10.31.4.90:8081/nexus/content/repositories/thirdparty</url> <layout>default</layout> <releases> <enabled>true</enabled> <updatePolicy>never</updatePolicy> </releases> <snapshots> <enabled>false</enabled> <updatePolicy>never</updatePolicy> </snapshots> </repository> </repositories> <distributionManagement> <repository> <id>thirdparty</id> <name>thirdparty</name> <url>http://10.31.4.90:8081/nexus/content/repositories/thirdparty</url> </repository> <snapshotRepository> <id>snapshots</id> <url>http://10.31.4.90:8081/nexus/content/repositories/snapshots</url> </snapshotRepository> </distributionManagement> <build> <plugins> <plugin> <artifactId>maven-jar-plugin</artifactId> <version>2.3.1</version> <executions> <execution> <id>default-jar</id> <phase>package</phase> <configuration> <includes> <classesDirectory>com/**</classesDirectory> </includes> </configuration> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.6</source> <target>1.6</target> <debug>true</debug> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-report-plugin</artifactId> <version>2.10</version> </plugin> <plugin> <groupId>maven</groupId> <artifactId>maven-jetty-plugin</artifactId> <version>1.1</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.10</version> <configuration> <testFailureIgnore>true</testFailureIgnore> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> <version>3.3</version> <configuration> <locales>zh_CN</locales> <outputEncoding>UTF-8</outputEncoding> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <version>2.8</version> <configuration> <outputEncoding>GBK</outputEncoding> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>cobertura-maven-plugin</artifactId> <version>2.5.1</version> <configuration> <check> <haltOnFailure>false</haltOnFailure> <totalLineRate>0</totalLineRate> <totalBranchRate>0</totalBranchRate> </check> <outputEncoding>UTF-8</outputEncoding> </configuration> <executions> <execution> <id>clean</id> <goals> <goal>clean</goal> </goals> </execution> <execution> <id>check</id> <goals> <goal>check</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-scm-plugin</artifactId> <version>1.5</version> <configuration> <username>fengfeng</username> <password>wcs</password> <goals>compile</goals> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>2.3</version> <configuration> <attach>true</attach> </configuration> <executions> <execution> <phase>compile</phase> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> <version>2.8.1</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-changelog-plugin</artifactId> <version>2.2</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>sonar-maven-plugin</artifactId> <version>2.4</version> </plugin> </plugins> </build> <reporting> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-project-info-reports-plugin</artifactId> <version>2.4</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jxr-plugin</artifactId> <version>2.3</version> <configuration> <outputEncoding>UTF-8</outputEncoding> <inputEncoding>UTF-8</inputEncoding> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>2.8</version> <configuration> <aggregate>true</aggregate> <charset>UTF16</charset> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> <version>2.7.1</version> <configuration> <rulesets> <ruleset>/rulesets/basic.xml</ruleset> <ruleset>/rulesets/imports.xml</ruleset> <ruleset>/rulesets/unusedcode.xml</ruleset> <ruleset>/rulesets/finalizers.xml</ruleset> </rulesets> <outputEncoding>UTF-8</outputEncoding> <linkXref>true</linkXref> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <version>2.8</version> <configuration> <outputEncoding>UTF-8</outputEncoding> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>taglist-maven-plugin</artifactId> <version>2.4</version> <configuration> <tags> <tag>TODO</tag> <tag>@todo</tag> <tag>FIXME</tag> <tag>XXX</tag> </tags> <outputEncoding>UTF-8</outputEncoding> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>cobertura-maven-plugin</artifactId> <version>2.5.1</version> <configuration> <outputEncoding>UTF-8</outputEncoding> <formats> <format>xml</format> <format>html</format> </formats> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>findbugs-maven-plugin</artifactId> <version>2.3.2</version> <configuration> <xmlOutput>true</xmlOutput> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> <version>3.3</version> </plugin> </plugins> </reporting> </project>?
?
?
?
?
來自為知筆記(Wiz)
?
轉(zhuǎn)載于:https://my.oschina.net/u/1997676/blog/384063
總結(jié)
以上是生活随笔為你收集整理的发布源码及依赖到网络maven仓库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机小高考要点,小高考的复习计划
- 下一篇: pytorch函数详解 附带测试demo