【问题标题】:Mac OS unable to run .Jar fileMac OS 无法运行 .Jar 文件
【发布时间】:2020-08-08 11:17:37
【问题描述】:

所以我一直在编写这个小代码,它可以工作——但我必须输入整个 Computer;~ User$ java MyProject 并每次都更改路径,所以我决定将它放在一个 .jar 文件中(所以我可以双击运行它)。我是运行 macos 的 Intellij 用户。我创建了文件File/Project Structure/artifacts/+/myMain 等,现在我的桌面上有一个.jar 文件。当我在 Intellij 中运行 jar 或使用

运行 jar 时

java -jar /Users/Me/Desktop/MyProject/out/artifacts/MyProject_jar/MyProject.jar,它工作正常。

但是,当我:

  • java -jar MyProject.jar从终端运行它我得到Error: Unable to access jarfile MyProject.jar ^^Resolved - 使用 chmod 755 MyProject.jar 命令,查看评论了解更多详情

  • 或者使用 Jar 启动器右键单击运行它,我得到 The Java JAR file "MyProject.jar" could not be launched. Check the Console for possible error messages. 控制台中没有错误消息。

在任何人说之前,我有 Java 13,并且该项目正在 Java 13 上运行——这是我的计算机的默认设置,并且自安装以来一直自动更新。

我怎样才能启动这个文件,是什么阻止它这样做?

【问题讨论】:

  • jar文件的权限是什么?我相信 jar 文件必须是可执行的才能启动它。对于命令行,尝试指定路径,如java -jar ./MyProject.jar
  • @Fubar 太棒了,感谢您的回复。指定路径有效。你说的权限是什么意思?以及如何使其可执行的任何线索?
  • @Fubar 这与您所说的完全一样,非常感谢您-但是使用 Jar Launcher 运行时仍然会发生错误。知道为什么吗?另外,如果您确实想通了,请将评论更改为答案,我会接受它

标签: java macos jar


【解决方案1】:

在终端中,做一个

ls -l MyProject.jar

你会看到类似的东西:

-rw-r--r-- 1 youruser yourgroup 1024 Apr 24 15:41 MyProject.jar

-rw-r--r-- 部分是文件权限,其中“r”表示可读,“w”表示可写,“x”表示可执行,但如您所见,没有一个在那里。无需过多解释,使用 chmod 命令通过执行

使文件可执行
chmod 755 MyProject.jar

之后,使用相同的 ls 命令,您应该会在权限字段中看到 -rwxr-xr-x。该文件现在是可执行的(任何人),如果您在 Finder 中单击,该文件应该会启动。

【讨论】:

    【解决方案2】:

    如果您的程序没有 GUI 但需要控制台输入,您应该从终端运行它,而不是双击它。当您双击MyProject.jar 文件时,您实际上是通过jar 启动器启动它。 jar 启动器会将文件传递给 JVM。但是,由于您不是从终端启动它,JVM 不知道要使用哪个终端,因此程序可能无法正确执行。

    【讨论】:

      猜你喜欢
      • 2011-07-31
      • 1970-01-01
      • 1970-01-01
      • 2013-07-04
      • 1970-01-01
      • 1970-01-01
      • 2013-10-22
      • 1970-01-01
      相关资源
      最近更新 更多