Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.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 切换Windows/Linux操作系统时生成的jar文件出现问题_Java_Windows_Linux_Eclipse_Jar - Fatal编程技术网

Java 切换Windows/Linux操作系统时生成的jar文件出现问题

Java 切换Windows/Linux操作系统时生成的jar文件出现问题,java,windows,linux,eclipse,jar,Java,Windows,Linux,Eclipse,Jar,我遇到了一个奇怪的情况,我自己也在挣扎,试图弄清楚问题出在哪里 我使用Swing和jdbc在Eclipse下开发了一个Java应用程序。 我导出了一个可执行的jar文件,它是在Windows下使用Eclipse创建的 当我在Linux下执行导出的文件时,一切正常(gui和数据库访问),除了有时显示的JDialog在Linux中不再显示。 如果我再次生成jar,在Linux下(不修改源代码中的任何内容),JDialogs将再次开始工作 这是什么原因? 问题似乎与我的源代码无关,所以我是否总是要为每

我遇到了一个奇怪的情况,我自己也在挣扎,试图弄清楚问题出在哪里

我使用Swing和jdbc在Eclipse下开发了一个Java应用程序。 我导出了一个可执行的jar文件,它是在Windows下使用Eclipse创建的

当我在Linux下执行导出的文件时,一切正常(gui和数据库访问),除了有时显示的JDialog在Linux中不再显示。 如果我再次生成jar,在Linux下(不修改源代码中的任何内容),JDialogs将再次开始工作

这是什么原因? 问题似乎与我的源代码无关,所以我是否总是要为每个不同的操作系统再次生成一个可执行jar? 再说一次,如果这是一个与jar构建过程相关的问题,那么为什么JDialogs会出现唯一的问题呢

我希望澄清


提前感谢大家

当然,您不必在每个平台上构建。这个想法是让它一次,到处跑。您是否在Windows和Linux机器上使用相同版本的JDK/JRE?其他工具的版本,例如Eclipse、Ant?

当然,您不必在每个平台上构建。这个想法是让它一次,到处跑。您是否在Windows和Linux机器上使用相同版本的JDK/JRE?其他工具的版本,例如Eclipse、Ant?

java swing中的一些组件存在bug,可能与平台无关


也许JDialog就是其中之一

java swing中有一些组件有bug,可能不是独立于平台的


也许JDialog就是其中之一

您在Linux上使用的是哪种JDK?我在Windows和Ubuntu上都使用sun jdk,因为我在Ubuntu附带的开放jdk上遇到了一些问题。@zeropage:我在Windows和Linux上都使用sun-jdk-6只是为了检查eclipse是否实际使用了sun jdk,而不是另一个。试着强制使用不同的外观设置,看看这是否是Swing->GTK问题。您在Linux上使用的是哪种JDK?我在Windows和Ubuntu上都使用sun jdk,因为我在Ubuntu附带的开放jdk上遇到了一些问题。@zeropage:我在Windows和Linux上都使用sun-jdk-6只是为了检查eclipse是否实际使用了sun jdk,而不是另一个。试着强制使用不同的外观设置,看看这是否是Swing->GTK问题。是的,我使用的是相同的jdk/jre版本。我目前没有使用Ant。我假设您在Windows和Linux Eclipse版本之间使用完全相同的项目设置和文件。要消除其他可能的差异,请尝试在Eclipse中的“Java编译器”项目属性下使用“启用项目特定设置”。请注意,Eclipse中使用的增量编译器与javac编译器之间存在细微的差异。通过禁用“自动构建”,然后执行“清理”和“构建项目”,尝试进行完整重建可能会有所帮助。是的,我使用的是相同的jdk/jre版本。我目前没有使用Ant。我假设您在Windows和Linux Eclipse版本之间使用完全相同的项目设置和文件。要消除其他可能的差异,请尝试在Eclipse中的“Java编译器”项目属性下使用“启用项目特定设置”。请注意,Eclipse中使用的增量编译器与javac编译器之间存在细微的差异。通过禁用“自动生成”,然后执行“清理”和“生成项目”,尝试进行完整重建可能会有所帮助。