由于没有 Java 代码或资源,如何使用空的 javadoc jar(或空的源 jar)将工件上传到 Maven Central?

Posted

技术标签:

【中文标题】由于没有 Java 代码或资源,如何使用空的 javadoc jar(或空的源 jar)将工件上传到 Maven Central?【英文标题】:How to upload an artifact to Maven Central with an empty javadoc jar (or empty sources jar), because of no Java code nor resources? 【发布时间】:2019-05-11 10:16:57 【问题描述】:

我有这个小模块,它只包含一些属性文件。属性文件位于项目的根目录中,需要保留在那里。而已。通过 sonatype 上传到 Maven Central 时,javadoc jar 是必需的,所以我必须创建一个。

所以我没有 src/main/java 或 src/main/resources。我该怎么做?

javadoc 插件没有为此提供任何选项。

对于源 jar,同样如此。 Sonatype 至少需要一个源 jar,即使它是空的...

迄今为止(2018 年 12 月)我在互联网上找不到可行的解决方案。

【问题讨论】:

【参考方案1】:

我发现了这个非常简单的技巧!不需要额外的插件,只需通过两个额外的执行来扩展当前的 maven-jar-plugin,一个用于 javadoc,一个用于源代码:

        <plugin>
            <artifactId>maven-jar-plugin</artifactId>
            <version>3.1.0</version>
            <executions>
                <execution>
                    <id>default-jar</id>
                    <phase>package</phase>
                    <goals>
                        <goal>jar</goal>
                    </goals>
                </execution>
                <execution>
                    <id>javadoc-jar</id>
                    <phase>package</phase>
                    <goals>
                        <goal>jar</goal>
                    </goals>
                    <configuration>
                        <classifier>javadoc</classifier>
                    </configuration>
                </execution>
                <execution>
                    <id>sources-jar</id>
                    <phase>package</phase>
                    <goals>
                        <goal>jar</goal>
                    </goals>
                    <configuration>
                        <classifier>sources</classifier>
                    </configuration>
                </execution>
            </executions>
        </plugin>

执行“部署”时,它会生成一个额外的空 javadoc 和源 jar。

【讨论】:

以上是关于由于没有 Java 代码或资源,如何使用空的 javadoc jar(或空的源 jar)将工件上传到 Maven Central?的主要内容,如果未能解决你的问题,请参考以下文章

如何在没有 AttributeConverter 或 customUserType 的情况下使用 Hibernate 5.2.10 MySQL JSON 支持映射到 Java 实体类?

Android IntentService 无法实例化类;没有空的构造函数

docker上的Spring启动无法从资源中读取属性文件,但可以在没有Docker的情况下使用java -jar

使用 Java 创建的 ZIP 文件在使用 Windows 资源管理器打开时显示为空

你如何让一个空的 UITextView 像 iOS 上的 Notes 一样滚动?

异常库