Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从项目中创建exe文件_Java - Fatal编程技术网

Java 如何从项目中创建exe文件

Java 如何从项目中创建exe文件,java,Java,可能重复: 我用Java和MySQL编写了一个程序 我用它构建了一个.jar文件,当它的连接器与它在一起时,它就可以工作了 现在,我想将我的项目转换为一个简单的.exe文件,用于除从我的项目生成.exe文件之外的任何地方安装 当我单击.exe文件时,它无法连接到数据库,因为它的连接器不在 如何从我的项目中构建一个与MySQL连接没有问题的.exe文件? 你不应该这样 Exe文件已绑定到windows平台。如果您强迫客户使用windows,Java的一大优势,即平台独立性,就失去了 一些工具将

可能重复:

我用Java和MySQL编写了一个程序

我用它构建了一个.jar文件,当它的连接器与它在一起时,它就可以工作了

现在,我想将我的项目转换为一个简单的.exe文件,用于除从我的项目生成.exe文件之外的任何地方安装

当我单击.exe文件时,它无法连接到数据库,因为它的连接器不在

如何从我的项目中构建一个与MySQL连接没有问题的.exe文件?

你不应该这样

  • Exe文件已绑定到windows平台。如果您强迫客户使用windows,Java的一大优势,即平台独立性,就失去了
  • 一些工具将JRE打包到包中。它变得很胖,客户最终得到20个可执行文件的20个JRE,其中一个原始JRE就足够了
  • 要么可执行文件本身不更新,要么客户依赖于您为其提供JRE更新,这些更新可能已经用于其独立的JRE安装。或者对于20个前任,他得到的是20个更新,而不是一个
  • 您必须使用支持的每个JRE重新处理您的应用程序。如果您有应用程序版本1.0、1.1和1.2,而JRE有版本6.01、6.02和6.03,那么您有9个发行版,可能还有9个支持案例。对于10x10更新,您可能有100个更新
  • 热点编译器在性能方面比静态编译程序要好得多
如果它将mysql连接器添加到我的项目中?是的,您可以这样做。就我个人而言,我喜欢杰斯穆思。我已经试过了,它有一个创建EXE的漂亮GUI和一系列简单的步骤。我还想让它安装jdk和mysql?因为我的项目需要它们。您的项目将不需要绑定JDK,所以目标操作系统是作为项目需求规范的一部分声明的,其中可能包括项目客户对其最终Java应用程序在目标操作系统中的行为的期望。基于这种需求,它对Java平台的可移植性设置了限制。a)可执行jar在Windows上运行良好,无需创建exe文件。b) 尽管如此,您仍有大量的EXE需要更新,而不是一个JVM。c) 热点编译器的性能提升可能会被放弃。是的,我知道……但是,有一种特殊情况,用户需求可能需要您正确地执行此操作。例如:在Windows 7中,通过java启动器运行的java应用程序必须使用正确的分组和正确的应用程序图标正确地固定到Windows 7任务栏。当用户按下锁定在任务栏上的Java应用程序的快捷方式时,应将其正确分组,而不在任务栏上创建另一个图标…这只能通过将AppUserModelID注册到Java app EXE进程和AppUserModelID嵌入的快捷方式来实现。疯狂吧?