所以我一直在写这个小代码,它的工作 -- 但我必须输入整个的 Computer;~ User$ java MyProject
并每次都要改变路径,所以我决定把它插在一个 .jar
文件(所以我可以直接双击运行它)。我是一个运行macos的Intellij用户。我创建了这个文件。File/Project Structure/artifacts/+/myMain
等,现在有了 .jar
文件放在我的桌面上。当我在Intellij内部运行这个jar,或者使用
java -jar /Users/Me/Desktop/MyProject/out/artifacts/MyProject_jar/MyProject.jar
,它工作得很好。
然而,当我。
在终端上运行它时 java -jar MyProject.jar
我得到 Error: Unable to access jarfile MyProject.jar
^^已解决 - 使用 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上--这是我的计算机的默认版本,并且从安装开始就自动更新。
我怎样才能启动这个文件,是什么原因阻止了它的启动?
任何帮助都将是非常感激的
在终端中,做一个
ls -l MyProject.jar
你会看到这样的内容。
-rw-r--r-- 1 youruser yourgroup 1024 Apr 24 15:41 MyProject.jar
rrw-r-r--r--部分是文件的权限,其中 "r "表示可读,"w "表示可写,"x "表示可执行,但你可以看到那里没有一个。长篇大论的解释就不多说了,用chmod命令把文件变成可执行文件,具体操作如下
chmod 755 MyProject.jar
之后,使用同样的ls命令,你应该会在权限栏中看到-rwxr-xr-x。 现在这个文件是可执行的(任何人都可以执行),如果你在Finder中点击,应该可以启动。