3

为了帮助我们在调试时单步执行代码,我建议构建我们的 JAR 文件以包含源代码。我想知道这可能会导致什么问题。我的直接想法是 JAR 文件会稍微大一些。我可以忍受这一点。还有其他我需要考虑的问题吗?

TIA

4

4 回答 4

4

Normally you separate compiled code and source code into two different jars.

Then you can attach the source-code jar in your IDE when you need to debug the code.

A build tool like maven will easily do that for you.

于 2012-10-10T14:27:15.837 回答
2

我强烈推荐它。我这样做,一些开源项目也这样做(例如 jMock、Hamcrest、GWT)。

它省去了使用单独的源 jars 的麻烦。这也意味着,如果在未来某个时候源项目丢失(有时在大型组织中会发生),维护程序员将有机会重新创建它。

如果您很高兴那些有权访问 jar 的人可以看到您的源代码并准备支付增加 jar 大小的代价(并且创建、传输和部署 jar 的时间增加可能可以忽略不计)然后这就是你需要担心的。据我所知,没有任何其他问题。

仅仅因为 Maven 标准是将源文件分开并不意味着您必须这样做。

于 2012-10-10T14:37:07.117 回答
1

我通常会创建一个单独的源 .jar。Maven 可以轻松创建它,并且 IDE 知道如何访问/下载这些。

于 2012-10-10T14:30:00.260 回答
0

Java 空间中的一些工具会从类路径(即从 jar 中)获取源文件并做一些讨厌的事情。

通常,如果您在执行此操作的 jar 上添加依赖项,则通常会看到这种情况……然后,您最终会将这些源文件再次编译到依赖项目中并捆绑在其 jar 中,然后随着类的获取,所有类加载器地狱都将松动从一个来源和另一个来源加载。

只是不要这样做。遵循 Maven 方式(即使不使用 Maven)并创建一个单独的-sources.jar

于 2012-10-10T14:36:23.683 回答