java的jar文件

Posted

技术标签:

【中文标题】java的jar文件【英文标题】:Jar file of java 【发布时间】:2010-12-14 04:12:17 【问题描述】:

我创建了一个 java 应用程序并将其打包到 Windows 平台上的 jar 文件中。现在我想在 Debian Linux 上部署那个 jar 文件。

    相同的 jar 文件是否适用于 Debian Linux?

    在 windows 中用于从命令提示符执行 jar 文件的命令是否与 Debain Linux 相同?

java -jvm "MyJar.jar"

上述命令是否适用于 Debian Linux?

【问题讨论】:

【参考方案1】:

一般来说,应该。然而,这取决于几个条件:

如果您使用本机代码 (JNI),则必须确保本机库可用于目标平台 您必须确保没有硬编码的 Windows 特定路径(事实上,您甚至应该注意特殊字符,例如路径分隔符 : vs. ;) 您不能使用运行时特定代码

【讨论】:

+1 我已经看到很多仅在 Windows 上编写和测试的 Java 应用程序在 Mac 或 Linux 机器上都失败了。 WORA 是一个努力的目标,而不是针对粗心编写的软件的证明。 jar 文件中 Java 程序的行为超出了发帖者所要求的范围(但很可能在系统上实际运行 java 命令后不久就相关)【参考方案2】:

是的。

jar 文件可以跨平台移植,jar 命令的语法在 Linux 和 Windows 上是相同的。


编辑:您应该使用最新版本的 Sun Java,除非有充分的理由不这样做。非常。安装说明:http://wiki.debian.org/Java/Sun

【讨论】:

【参考方案3】:

1.相同的 jar 文件是否适用于 Debian Linux?

是的。因此 Java 的本质(可移植代码)

2。在 Windows 中用于从命令提示符执行 jar 文件的命令是否与 Debain Linux 相同?

java -jar "MyJar.jar"

【讨论】:

【参考方案4】:

是的,java 的主要思想是它(应该)运行在不同的操作系统上,只要安装了 java 运行时。

虽然我从未听说过 -jvm 标志。

如果你想启动一个 jar 文件,你应该使用 -jar 标志。

java -jar "MyJar.jar"

您还可以阅读Write once run anywhere 原则。

【讨论】:

【参考方案5】:

我在 mac 上进行开发,但在 linux 和 windows 环境中运行没有任何问题。关键是不要使用 JNI,正如其他人所提到的,我会使用 java -jar "MyJar.jar"

【讨论】:

【参考方案6】:

几乎。使用:

java -jar "MyJar.jar"

当然,你不应该使用任何诸如 JNI 或运行时的东西

【讨论】:

【参考方案7】:

是的,尽管您可能想在 Linux 中这样做:

java -jar YourJar.jar

代替:

java -jvm YourJar.jar

【讨论】:

以上是关于java的jar文件的主要内容,如果未能解决你的问题,请参考以下文章

从python中打开一个java JAR文件。

错误记录Flutter 混合开发报错 ( java.nio.file.FileSystemException: xxx/R.jar: 另一个程序正在使用此文件,进程无法访问。 )

Java 打jar包

Java_Java中动态加载jar文件和class文件

把java的class文件打成jar包的步骤

制作jar文件