2

我为我的一项作业编写了一个小型 Java 应用程序。问题是老师可能没有安装JRE。我想把java文件编译成window exe文件,这样老师就可以在没有安装JRE的情况下运行它。

我在 cygwin 中使用 gcj 工具,但输出应用程序似乎需要cygwin1.dll运行。我怎样才能避免这种情况,IE将应用程序需要的所有东西都打包到一个文件中,所以老师不必安装任何东西。

4

3 回答 3

1

使用MinGW而不是 Cygwin。

并为 10-MiB 的可执行文件做好准备。

于 2011-06-03T03:57:16.880 回答
1

你为什么不让你的老师安装一个 JRE,或者如果他们有一个?如果您被允许使用 Java,那么我敢肯定老师将需要拥有正确评估您的作业的工具。

如果不允许你使用 Java,那么,你在想什么?

于 2011-06-03T03:58:14.473 回答
0

该应用程序似乎需要cygwin1.dll运行。

.exe在 Windows 上,随文件一起发送是.dll常态。

如果您使用 Microsoft Visual Studio,您的程序还需要附带一些来自 Visual Studio Redistributable Run-Time 的库。(除非您静态链接它。)Windows 上的大多数主要应用程序的安装目录都塞满了dll文件,没有它们就无法运行。

2016 年年中,Cygwin 项目将许可从 GPL 更改为 LGPL。这意味着您可以将程序与 to 链接cygwin1.dll并重新分发它们,即使这些程序具有与常规 GPL 不兼容的许可证,例如封闭源代码、不可自由再分发的专有程序。cygwin1.dll(当然,如果您在如何重新分配自身方面遵守 LGPL )。

IE 将应用程序需要的所有东西都打包到一个文件中,因此老师不必安装任何东西。

不安装任何东西的唯一方法是根本没有文件。如果只有一个文件,它必须放在某个地方,并且符合安装的定义。在 Windows 上,如果您有一个.exe依赖于 a 的文件,.dll您只需确保将它们放在同一个目录中。.zip如果程序太不重要而不能保证开发完整的安装程序,则可以通过将它们放入文件中轻松满足此要求。

您的老师将您的.zip文件解压缩到他们的桌面或下载目录中。应该会出现一个文件夹,该文件夹中是您的程序和dll. 该程序可以被调用并加载dll;不费吹灰之力。

于 2017-06-15T01:20:47.473 回答