赞
踩
自建Maven项目如何发布到Sonatype和Central中西仓库中(一)
1.配置Maven库的全局Setting.xml文件
- <server>
- <id>sonatype</id>
- <username>sonatype的账号</username>
- <password>sonatype的密码</password>
- </server>
2.配置Maven项目根POM文件,增加发布到中央仓库的profile
- <profiles>
- <profile>
- <id>sonatype-release</id>
- <activation>
- <activeByDefault>true</activeByDefault>
- </activation>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-source-plugin</artifactId>
- <version>2.2.1</version>
- <executions>
- <execution>
- <phase>package</phase>
- <goals>
- <goal>jar-no-fork</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <version>2.9.1</version>
- <configuration>
- <show>private</show>
- <nohelp>true</nohelp>
- <charset>UTF-8</charset>
- <encoding>UTF-8</encoding>
- <docencoding>UTF-8</docencoding>
- <additionalparam>-Xdoclint:none</additionalparam>
- </configuration>
- <executions>
- <execution>
- <phase>package</phase>
- <goals>
- <goal>jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-gpg-plugin</artifactId>
- <version>1.6</version>
- <executions>
- <execution>
- <phase>verify</phase>
- <goals>
- <goal>sign</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.7.0</version>
- <configuration>
- <source>1.8</source>
- <target>1.8</target>
- </configuration>
- </plugin>
- <!--Release -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-release-plugin</artifactId>
- <version>2.5.1</version>
- </plugin>
- <plugin>
- <artifactId>maven-deploy-plugin</artifactId>
- <version>2.8.2</version>
- <executions>
- <execution>
- <id>default-deploy</id>
- <phase>deploy</phase>
- <goals>
- <goal>deploy</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.sonatype.plugins</groupId>
- <artifactId>nexus-staging-maven-plugin</artifactId>
- <version>1.6.7</version>
- <extensions>true</extensions>
- <configuration>
- <serverId>sonatype</serverId>
- <nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
- <autoReleaseAfterClose>true</autoReleaseAfterClose>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-scm-plugin</artifactId>
- <version>1.8.1</version>
- </plugin>
- </plugins>
- </build>
- <!-- 这里配置的ossrh要与settings.xml的一致,不然发布会出错 -->
- <distributionManagement>
- <snapshotRepository>
- <id>sonatype</id>
- <name>Sonatype Nexus Snapshots</name>
- <url>https://s01.oss.sonatype.org/content/repositories/snapshots/</url>
- </snapshotRepository>
- <repository>
- <id>sonatype</id>
- <name>Nexus Release Repository</name>
- <url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url>
- </repository>
- </distributionManagement>
- </profile>
- </profiles>

3.发布项目到中央仓库
mvn clean deploy -Psonatype-release
4.需要注意的点
a.根POM文件,必须配置 name、url、description
b.必须生成source和javadoc。在maven plugin中配置响应的插件,见上文
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。