我尝试了一些教程讲授的2件事:
1.在maven-source-plugin
中:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<phase>package</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
然后使用cmd:
mvn install
或
mvn source:jar
或
mvn source:jar-no-fork
它们都不起作用。
2.在maven-jar-plugin
中:
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
<configuration>
<includes>
<include>**/*.java</include>
</includes>
</configuration>
</plugin>
这些方法都不起作用。
然后如何生成包含源代码的jar。
答案 0 :(得分:1)
要将Java源代码复制到主JAR文件中,可以使用resouces:copy-resources
:
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy-java-sources</id>
<phase>prepare-package</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.outputDirectory}</outputDirectory>
<resources>
<resource>
<directory>${project.build.sourceDirectory}</directory>
<filtering>false</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
但是请注意,这不是为Java源提供Maven的标准方法,仅应用于非常特殊的用例。
标准方法是启用release-profile
,它使用maven-source-plugin
创建仅包含源(在Maven Super POM中定义)的辅助源JAR。 IDE可以加载这些源JAR文件并将其显示给开发人员。
要激活Maven超级POM中定义的release-profile
,可以使用:
-DperformRelease=true
它实际上并没有执行发布(没有版本更新或Git标签),而是激活了一些其他目标。