繁体   English   中英

将源代码包含在JAR文件中有什么弊端?

[英]What are the downsides to including source code in JAR files?

为了帮助我们在调试时逐步执行代码,我建议您将我们的JAR文件构建为包含源代码。 我想知道可能会导致什么问题。 我立即想到的是JAR文件会更大。 我可以忍受这一点。 我还需要考虑其他问题吗?

TIA

通常,您将编译后的代码和源代码分为两个不同的jar。

然后,当您需要调试代码时,可以将源代码jar附加到IDE中。

像maven这样的构建工具将轻松为您完成此任务。

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

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

如果您对那些可以访问jar的人感到满意,并且愿意为增加jar的大小所付出的代价(以及创建,传输和部署jar的时间增加可以忽略不计)付出了代价,那么这就是您需要担心的。 据我所知,没有其他问题。

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

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

Java空间中的某些工具将从类路径(即从jar内)获取源文件并执行令人讨厌的事情。

通常情况下,您看到的是在要执行此操作的jar上添加依赖项...然后最终将那些源文件再次编译到依赖项目中,并捆绑在其jar中,然后所有类加载器在类获取时会崩溃从一个来源和另一个来源加载。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM