2

我知道如何使用 maven 的源代码创建一个 JAR 文件,并且还创建一个可执行的 JAR。但我的问题是,是否有任何方法可以创建还包含源代码的可执行 JAR(因此它包含所有 .class 文件)(因此对于每个 .class 其对应的 .java 文件)。

我想用 Eclipse 进行调试,因为我的 Maven 项目是另一个项目的库,并且在调试更大的项目时,当执行到达我的库时我会失去跟踪,因为 JAR 中缺少源代码。我在这个论坛中找到了一个解决方案,建议创建两个 jar,一个是可执行文件,另一个是 .java 文件,并将 IDE 中的源路径设置为指向代码 JAR,但我想使用唯一的 JAR两个。那可能吗?如果不是使用 maven 和另一个 java 工具?例如合并两个 JAR 文件?

非常感谢。

4

2 回答 2

3

您可以将源目录声明为附加资源目录

<build>
    <resources>
        <resource>
            <directory>${project.build.sourceDirectory}</directory>
        </resource>
        <resource>
            <directory>src/main/resources</directory>
        </resource>
    </resources>
</build>

这会将 java 文件放在类文件旁边 - 我不知道您的 IDE 是否支持使用这种结构进行调试。通常@Brian Agnew 建议的方法是要走的路。

于 2012-09-17T14:54:30.473 回答
1

我会认为,如果您使用 Maven,您可以将二进制文件创建为一个可部署的文件,并将源 jar 文件创建为另一个文件。这样,您的 IDE 应该能够透明地加载与您正在使用的二进制 jar 对应的源(在 IDE 中,它给了我一个“下载”选项)。

有关更多信息,请参阅此链接

maven-source-plugin 可用于为项目生成源代码 jarW 文件。将此源 jar 部署到远程存储库对其他开发人员很有用,以便他们可以“附加源”并调试到项目源代码中。

于 2012-09-17T14:16:22.700 回答