java - Maven:使用 jar-with-dependencies 分发源代码

标签 java maven maven-assembly-plugin

我正在使用 Maven 程序集插件将我的 Java 项目的二进制文件打包到一个胖 jar(带有 jar-with-dependencies 描述符)中。这非常有效。

问题:如何将项目的源文件与已编译的类文件一起包含在内?我试图查看 Maven 文档以了解如何执行此操作,但找不到任何内容。

谢谢!

我的 pom.xml 看起来像这样:

<project>
...
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                    <finalName>${pom.artifactId}-${pom.version}</finalName>
                    <appendAssemblyId>false</appendAssemblyId>
                    <outputDirectory>${project.basedir}/bin/</outputDirectory>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

最佳答案

最简单的解决方案是使用预定义描述符 src或者使用预定义的描述符可能更好 project :

  <descriptorRefs>
    <descriptorRef>jar-with-dependencies</descriptorRef>
    <descriptorRef>src</descriptorRef>
  </descriptorRefs>

或者其他选项是这样的:

  <descriptorRefs>
    <descriptorRef>jar-with-dependencies</descriptorRef>
    <descriptorRef>project</descriptorRef>
  </descriptorRefs>

关于java - Maven:使用 jar-with-dependencies 分发源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16571889/

相关文章:

maven-2 - Maven 程序集 : include a dependency with a different classifier

java - 使用 Java 在 MongoDB 上迭代聚合

java - 比较双值

java - 如何使带有调度程序(Quartz)的应用程序可手动测试?

maven - 如何在 maven-war-plugin 中正确设置 list 类路径

java - 创建一个可执行的 JAR 及其所有依赖项,并使用 maven assembly 放入 ZIP 文件

java - Maven 程序集——如何创建包含版本的项目 JAR,但不包含 Artifact tar.gz 文件?

Java AWT KeyListener 不工作

maven - 无法让 Sonar 处理多模块 Maven 项目的 jacoco exec 文件

java - 我在 Selenium 中的程序没有停止执行是什么?