0

我正在开发一个项目,其中包含大量要编译到 jar 中的类。我知道入口点和 manifest.txt 以及我的 jar 中所有需要的项目,我的类都已编译并具有 .class 文件和所有内容,但问题是我必须将所有类文件添加到最终jar 通过命令提示符中的一行进行编译。我想知道并偶然发现互联网上没有任何东西是否可以以更简单的方式完成,因为我将不断更新我的工作,并且必须重新编译和重新编译我的工作。我听说过可以解决问题的第三方程序,但是某些网站上有人说它们可能会导致问题和其他东西,所以我很快就放弃了这个想法。既然我处于一个非常紧张的境地,我想听听对此的意见和建议。所以总结一下:

  • 我想要一种在单个 jar 中编译一大堆 .class 文件的方法,而无需在编译之间一遍又一遍地键入所有这些文件,从而节省时间和挫败感。

  • 如果甚至可以做到这一点,我会更喜欢本机的东西——例如,JDK 的 jar 编译器而不是任何第三方。如果有办法在编译时参数中使用清单或任何其他文件来做到这一点,让我听听。

  • 任何愿意建议、讨论或给我一个充分理由为什么要使用或不使用第三方应用程序的人都将受到欢迎。
  • 请记住,我在 Windows 上工作,但我的应用程序将是跨平台的,因此不要建议将某些编译解决方案作为主要选项,这些解决方案将生成带有 .exe 扩展名的最终文件(尽管如果有人知道如何做到这一点,我想在评论中听到它,因为我也想知道这一点)。

在此先感谢您,如果您觉得有必要问我什么来帮助您回复,请开枪!

4

3 回答 3

3

看看这个 ant 教程,它展示了如何编写一个可以编译和 jar 的简单 build.xml。

http://ant.apache.org/manual/tutorial-HelloWorldWithAnt.html

然后,您可以根据自己的需要对其进行调整。

注意:ant 只适用于像你这样的小型项目。

于 2012-09-30T14:58:46.233 回答
2

解决此问题以及相关问题的方法是停止在命令行输入并使用构建工具。这里用于 Java 构建的常用工具是:

还有其他不太常见的。这两种工具都会为您提供所需的东西。

于 2012-09-30T14:59:07.150 回答
0

只是想添加一些关于 Ant 和 Maven 的信息。

在您的情况下,您需要自动构建应用程序。基本的解决方案是某种脚本,但根本没有使用。存在更好的解决方案:

如果您从脚本来自动化构建的想法,您可以使用像 Ant 这样的工具,它有点像 C 世界中的 make 和此类工具,您可以在配置文件中定义构建所需的任务。这种解决方案的问题在于它允许您为构建定义自己的结构,并且项目的新成员可能难以理解构建的逻辑。

另一种方法是描述你想要做什么样的构建,组织你的源和资源,就像在大多数情况下所做的那样(实际上是遵循一个约定)。例如,java 源在 src/main/java,测试在 src/test/java,配置文件在 src/main/resources,等等。在您的构建描述中,您只会说:这是一个 java 项目,我想构建一个 War web 应用程序并使用 jUnit 4 执行我的测试。我的项目的依赖项是 apache xerces 和 hibernate 4。然后,该工具将不需要说怎么做就知道该做什么。这是maven的做法。

简而言之,在 Ant 方法中,您将说明如何做您想做的事情,而在 Maven 方法中,您将定义您想要做什么,并且该工具默认知道如何做。

您可能还对某种混合方法感兴趣,例如 Gradle 等工具提供的方法。

了解更多信息 :

希望能帮助到你

于 2012-10-01T12:37:17.070 回答