首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >maven可以生成包含源代码的jar吗

maven可以生成包含源代码的jar吗
EN

Stack Overflow用户
提问于 2019-08-18 15:41:07
回答 1查看 123关注 0票数 0

我尝试了一些教程教给我的两件事: 1.在maven-source-plugin

代码语言:javascript
运行
复制
<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:

代码语言:javascript
运行
复制
mvn install

代码语言:javascript
运行
复制
mvn source:jar

代码语言:javascript
运行
复制
mvn source:jar-no-fork

它们都不起作用。2.在maven-jar-plugin

代码语言:javascript
运行
复制
<plugin>
          <artifactId>maven-jar-plugin</artifactId>
          <version>3.0.2</version>
          <configuration>
            <includes>
              <include>**/*.java</include>
            </includes>
          </configuration>
        </plugin>

这些方法都不起作用。

然后如何生成包含源代码的jar。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-18 16:41:02

要将Java源代码复制到主JAR文件中,可以使用resouces:copy-resources

代码语言:javascript
运行
复制
        <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>

但是,请注意,这不是为Maven提供Java源代码的标准方法,应该仅用于非常特殊的用例。

标准方法是启用release-profile,它使用maven-source-plugin创建一个仅包含源代码(在Maven Super POM中定义)的辅助-sources JAR。IDE可以加载这些源代码JAR文件,并向开发人员显示源代码。

要激活Maven Super POM中定义的release-profile,您可以使用:

代码语言:javascript
运行
复制
-DperformRelease=true

它实际上并不执行发布(没有版本更新或Git标签),但激活了一些额外的目标。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57542617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档