【问题标题】:run the jar file created from windows in linux as executable在linux中运行从windows创建的jar文件作为可执行文件
【发布时间】:2013-01-11 13:57:31
【问题描述】:

您好,我在 Windows 操作系统上使用 javafx 开发了一个 swing 应用程序。它在 Windows 上运行良好。但是当我在 Linux 上运行 jar 时,它默认在存档管理器中打开,它不能作为可执行文件工作。

我已经检查了 jar 文件的属性,它已经是一个可执行文件了。

我是否必须在 Linux 环境中重新编译源文件才能在 Linux 上运行 jar file,还是 jar file 也可以在 Linux 上运行?

【问题讨论】:

标签: java linux jar executable-jar


【解决方案1】:

如果您没有使用依赖于操作系统的命令,例如从 java 运行 windows 命令(肯定不会在 linux 中运行)或使用 windows 特定模块,那么您的 java 将在所有其他操作系统中运行。这是 java 最重要的特性之一,它是跨平台的,您可以在安装了特定于操作系统的 java 运行时环境的不同操作系统中运行您的代码。

所以在所有操作系统中,你只需要运行

java -jar yourjarfile.jar

【讨论】:

  • 运行此命令时显示无法识别的类文件版本
  • 您的 Java 编译器版本和您要运行它的 Java 环境版本不匹配。可能你已经在更高版本中编译并尝试在更低版本中运行。
  • 我想我已经在 jdk7update11 中编译并在 jdk7 update 10 中运行
  • 现在我在 jdk7 update 11 中运行,但它仍然给出同样的错误
  • @user1960524,你确定你运行的是正确的版本吗?您是否使用 java -version 进行了验证?您可能需要运行 sudo update-java-alternatives -l
【解决方案2】:

executable jar 必须可以跨操作系统执行。

但是,您需要检查 .jar 文件的权限。尤其是在类似 linux 的环境中执行时。

chmod +x /path/to/your/java.jar

在linux中使用chmod命令/使用Ant chmod修改你的buil.xml

【讨论】:

  • 那么我怎样才能使 jar 跨操作系统可执行
  • 更多info
猜你喜欢
  • 2021-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-06
  • 1970-01-01
  • 1970-01-01
  • 2010-10-23
  • 1970-01-01
相关资源
最近更新 更多