在Windows中编译的Java可以在Linux中工作吗?

2022-09-04 06:26:24

当我在Windows(Eclipse和Bluej)下使用它时,我的Java程序处于工作状态。我把它压缩成一个罐子,然后把它送到我的红帽子上。没有任何效果。它打破了最奇怪的事情,例如文本字段集文本不会显示,JPasswordfield刚刚消失,Java AWT ROBOT也死了......列表还在继续,首先我认为它一定是我的Linux JRE已经过时了,但是我安装了最新的JRE,然后是JDK,根本没有任何改进。我有一种感觉,我错过了对Java交叉平台能力的理解。我还试图删除我所有的功能和胆量,看看有什么东西坏了,但除了一些主要的GUI组件和大多数后端的东西之外,似乎每一秒都在坏掉。基本上任何使用一些花哨的东西的东西都会在我的脸上爆炸,比如在密码字段中制作文本字段......

这是我第一次发布;)请善待新手!

谢谢!!!

解决!!!耶。问题解决了!!!这是因为我的Java路径没有设置,所以我的GCC / GCJ跳进来而不是我的oracle java,即使我使用了java -jar xxx.jar。所以我从我的java -jar xxx.jar中放入java目录路径,并像一个魅力一样工作。除非您设置了路径,否则必须手动执行此操作

/usr/java/jdk1.6.0_21/jre/bin/java -jar xxxxx.jar

java-version,用于检查您的真实java是否正在运行,或者它是否仍在GCJ


答案 1

Linux用户经常使用gcj而不是java运行java程序。检查是否使用了正确的可执行文件。


答案 2

检查您是否在Linux机器上使用Sun(Oracle)的JRE,而不是某些第三方Java实现,例如gcj或类似实现。

根据我的经验,只要您在每个目标SO上坚持使用相同的JVM /运行时供应商,Java应用程序就具有很强的可移植性,但是来自不同供应商的Java实现可能彼此不同。


推荐