创建一个包含调试源代码的可执行jar

时间:2012-09-17 14:10:28

标签: java maven jar

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

我想用eclipse进行调试,因为我的maven项目是另一个项目的库,当调试更大的项目时,由于JAR中缺少源代码,我在执行到达库时会松开轨道。我在这个论坛中找到了一个解决方案,建议创建两个jar,一个可执行文件,另一个使用.java文件,并在IDE中设置源路径指向代码JAR,但我想使用一个独特的JAR代替两个。那可能吗?如果没有与另一个Java工具maven?例如合并两个JAR文件?

非常感谢。

2 个答案:

答案 0 :(得分:3)

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

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

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

答案 1 :(得分:1)

我原以为如果你使用Maven,你可以将二进制文件创建为一个可部署的,将源jar文件创建为另一个。这样,你的IDE应该能够透明地加载你正在使用的二进制jar对应的源代码(在IDE中它给我一个'下载'选项)。

有关详细信息,请参阅this link

  

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