由于没有 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 资源管理器打开时显示为空