Maven项目发布到公司内部Repository(Nexus) #阶段性反刍#

FuqiangWang


配置结构关系

项目pom.xml配置

第一, 先配置发布到哪个repository相关信息:

    <distributionManagement>
                    <repository>
                        <id>deployment</id>
                        <name>internal repository for releases</name>
                        <url>http://192.168.1.248:9111/nexus/content/repositories/releases</url>
                    </repository>
                    <snapshotRepository>
                        <id>deployment</id>
                        <name>internal repository for snapshots</name>
                        <url>http://192.168.1.248:9111/nexus/content/repositories/snapshots</url>
                    </snapshotRepository>
                </distributionManagement>

第二, 配置deploy插件:

        <plugins>
                        <plugin>
                            <artifactId>maven-deploy-plugin</artifactId>
                        </plugin>
                    </plugins>

顺便把这些plugin一起配置,这样可以jar, source jar, javadoc jar一起发布:

            <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-compiler-plugin</artifactId>
                            <configuration>
                                <source>${java_source_version}</source>
                                <target>${java_target_version}</target>
                                <encoding>${file_encoding}</encoding>
                            </configuration>
                        </plugin>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-source-plugin</artifactId>
                            <executions>
                                <execution>
                                    <id>attach-sources</id>
                                    <goals>
                                        <goal>jar</goal>
                                    </goals>
                                </execution>
                            </executions>
                        </plugin>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-javadoc-plugin</artifactId>
                            <configuration>
                                <charset>${file_encoding}</charset>
                                <encoding>${file_encoding}</encoding>
                            </configuration>
                            <executions>
                                <execution>
                                    <id>attach-javadocs</id>
                                    <goals>
                                        <goal>jar</goal>
                                    </goals>
                                </execution>
                            </executions>
                        </plugin>

settings.xml配置

Nexus通常会设置认证, 只允许指定的credentials可以发布artifacts到nexus, 而这些认证信息就配置在settings.xml中:

    <servers>
                    <server>
                        <id>deployment</id>
                        <username>deployment</username>
                        <password>${password}</password>
                    </server>
                </servers>

注意: server的id值需要跟pom.xml中每一个repository的id值相对应!!! (因为我们是为这些distributionManagement的repository提供认证信息)

执行发布/部署

在当前项目目录下执行mvn deploy坐等发布成功!


>>>>>> 更多阅读 <<<<<<

「为AI疯狂」星球上,扶墙老师正在和朋友们讨论有趣的AI话题,你要不要⼀起来呀?^-^
这里

  1. 不但有及时新鲜的AI资讯和深度探讨
  2. 还分享AI工具、产品方法和商业机会
  3. 更有体系化精品付费内容等着你,加入星球(https://t.zsxq.com/0dI3ZA0sL) 即可免费领取。(加入之后一定记得看置顶消息呀!)

知识星球二维码

存量的时代,省钱就是赚钱。
在增量的时代,省钱其实是亏钱。
避坑儿是省钱的一种形式,更是真正聪明人的选择!
弯路虽然也是路,但还是能少走就少走,背后都是高昂的试错成本。
订阅「福报」,少踩坑,少走弯路,多走一步,就是不一样的胜率!

订阅「福报Premium订阅」