Maven发布本地项目的jar包和源码到私有仓库

背景

前段时间打包了一些基础的工具类和插件,然后发布到了公司的私有maven仓库里,一开始用起来还没有啥问题,可是随着jar包中的功能越来越丰富,时间越来越久,好些方法的具体功能都已经记不清了。

代码里的注释是肯定有的,只不过其他项目依赖jar包的时候由于下载不到源码,所以注释也显示不了,只能看下反编译的代码,或者两个项目切换着看注释,很是麻烦。

因此就研究了下怎么把源码也一起发布到maven仓库里。

实现

经过一番探索,偶然发现了maven-source-plugin找个插件,官网地址:

http://maven.apache.org/plugins/maven-source-plugin/index.html

用法很简单,pom文件中增加以下配置:

    <build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>versions-maven-plugin</artifactId>
                <version>2.7</version>
                <configuration>
                    <generateBackupPoms>false</generateBackupPoms>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>3.2.1</version>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

versions-maven-plugin这个插件是修改版本号的,对于多模块项目的打包发布非常方便。

maven-source-plugin就不多说了。

正常的deploy发布之后,会有一个前半部分和当前要发布的jar包名字相同、后面多了-source后缀的jar包文件,这个就是我们的源码了。

执行 mvn install,maven会自动将source install到repository 。

执行 mvn deploy,maven会自动将source deploy到remote-repository 。

执行 mvn source:jar,单独打包源码。

再附

多模块项目,只需要在父级的pom文件中加上以上插件即可。不过如果你要单独发布某个子模块的话,就需要在对应的子模块也加上这个插件。

猜你喜欢

转载自blog.csdn.net/u012921921/article/details/108077723