我正在Windows上使用bash,并尝试使用以下命令执行jar操作:
java -jar /mnt/c/test.jar
不起作用:“无法访问jarfile /mnt/c/test.jar”
当我进入目录时:
cd /mnt/c
再执行一次,就可以了:
java -jar test.jar
如果我与jar文件不在同一个目录,则会出错。有人可以解释原因并给出解决方案吗?谢谢。
答案 0 :(得分:1)
要传递的路径在Java本身中由于其格式而无法识别,因为Java运行的是.class字节码文件或jar文件,无论您要传递的是什么,它都会在类路径中看到它。因此,将路径添加到类路径中,然后像执行变通方法那样直接执行jar
java -cp /mnt/c -jar test.jar
您是在执行可见的jar时将jar添加到类路径中
此原因可能是权限问题,因为该错误表明无法看到jar文件。当我指向C:分区时,使用git bash可以完成以下工作
java -jar Intel/app.jar
即使在我将bash指向我的D:分区时,它也能正常工作
java -jar /c/Intel/app.jar
答案 1 :(得分:0)
在.bash_profile
中设置的路径只能在bash登录外壳(bash -l)
中设置。如果将路径放在.profile
中,则您的整个桌面会话都可以使用它。这意味着即使是超城市也将使用它。
例如~/.profile
:
if [ -d "$HOME/bin" ] ; then
PATH="$PATH:$HOME/bin"
fi
答案 2 :(得分:0)
尝试运行java -jar C:\\test.jar
。
bash命令是一种提供安装点幻觉的命令。 java命令接收/mnt/c/test.jar
作为参数,并且在实际打开文件时,路径在操作系统级别不存在。