Jos*_*ith 117 java jar executable-jar
我想在不使用IDE的情况下执行我的程序.我已经创建了一个jar文件和一个exectuable jar文件.当我双击exe jar文件时,没有任何反应,当我尝试在cmd中使用该命令时,它给了我:
Error: Unable to access jarfile <path>
Run Code Online (Sandbox Code Playgroud)
我使用命令: java -jar Calculator.jar
我是如何创建jar的:
Vin*_*agi 67
当我运行我的Jar文件时,我遇到过这个问题
java -jar TestJar
代替
java -jar TestJar.jar
Jos*_*ith 52
固定
我只是将它放在一个不同的文件夹中,它工作.
Rob*_*own 29
[可能只有Windows]
请注意路径中的空格,即使您的jar位于当前工作目录中也是如此.例如,对我来说这是失败的:
java -jar myjar.jar
Run Code Online (Sandbox Code Playgroud)
我能够通过givng指向jar的完整引用路径来解决这个问题:
java -jar "%~dp0\myjar.jar"
Run Code Online (Sandbox Code Playgroud)
归功于这个答案,让我走上了正确的道路......
rad*_*scu 15
我在Windows下的CygWin下遇到了这个问题.我在别处读过Java不了解CygWin路径(/cygdrive/c/some/dir
而不是C:\some\dir
) - 所以我使用了相对路径:../../some/dir/sbt-launch.jar
.
小智 11
刚刚遇到同样的问题试图制造一个糟糕的USB ...
我试图在admin cmd中运行此命令
java -jar c:\fw\ducky\duckencode.jar -I c:\fw\ducky\HelloWorld.txt -o c:\fw\ducky\inject.bin
Run Code Online (Sandbox Code Playgroud)
但得到了这个错误:
Error: unable to access jarfile c:\fw\ducky\duckencode.jar
Run Code Online (Sandbox Code Playgroud)
解
第一步
右键单击有问题的jar文件.单击属性.单击右下角的取消阻止选项卡.该文件被阻止,因为它已下载而未在我的PC上创建.
第二步
在cmd中,我将目录更改为jar文件所在的位置.
cd C:\fw\ducky\
Run Code Online (Sandbox Code Playgroud)
然后我输入dir
并看到文件被命名duckencode.jar.jar
所以在cmd中我更改了原始命令以引用该文件 .jar.jar
java -jar c:\fw\ducky\duckencode.jar.jar -I c:\fw\ducky\HelloWorld.txt -o c:\fw\ducky\inject.bin
Run Code Online (Sandbox Code Playgroud)
执行该命令时没有错误消息,我尝试创建的inject.bin现在位于目录中.
希望这可以帮助.
twh*_*whb 11
所提供的答案都不适合我在 macOS 11 Big Sur 上的情况。问题原来是程序需要特殊权限才能访问桌面、文档和下载文件夹,而 Java 打破了直接打开文件的例外和权限请求弹出窗口。
\n修复:
\nben*_*nez 10
我在尝试启动jar文件时遇到了同样的问题.路径包含一个空格,所以我不得不在周围放置引号.代替:
java -jar C:\Path to File\myJar.jar
Run Code Online (Sandbox Code Playgroud)
我不得不写
java -jar "C:\Path to File\myJar.jar"
Run Code Online (Sandbox Code Playgroud)
小智 6
这对我有用
java -jar "filename.jar"
如果您使用的是 OSX,下载的文件会被标记一个安全标志,以防止未签名的应用程序运行。
要检查这一点,您可以查看文件的扩展属性
$ ls -l@
-rw-r--r--@ 1 dave staff 17663235 13 Oct 11:08 server-0.28.2-java8.jar
com.apple.metadata:kMDItemWhereFroms 619
com.apple.quarantine 68
Run Code Online (Sandbox Code Playgroud)
然后,您可以清除属性
xattr -c file.jar
Run Code Online (Sandbox Code Playgroud)
我遇到了类似的问题,甚至尝试使用管理员权限运行CMD,但并没有解决问题。
基本的一点是,一定要改变目录在CMD到当前目录中您的jar文件。
请执行以下步骤:
1.将jar文件复制到桌面。
运行CMD
键入命令 cd desktp
然后输入 java -jar filename.jar
这应该工作。
编辑:从JDK-11开始(JEP 330:启动单文件源代码程序)
从Java 11开始,java命令行工具已经能够直接运行单个文件的源代码。例如
java filename.java
Run Code Online (Sandbox Code Playgroud)
如果您没有正确提供参数列表,也可能会发生这种情况。这就是我正在做的:
java -jar test@gmail.com testing_subject file.txt test_send_emails.jar
Run Code Online (Sandbox Code Playgroud)
而不是正确的版本:
java -jar test_send_emails.jar test@gmail.com testing_subject file.txt
Run Code Online (Sandbox Code Playgroud)
小智 5
这对我有用。
cd /path/to/the/jar/
java -jar ./Calculator.jar
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
537225 次 |
最近记录: |