无法在Windows上的bash上访问jarfile

时间:2018-07-21 08:11:35

标签: java windows-subsystem-for-linux

我正在Windows上使用bash,并尝试使用以下命令执行jar操作:

java -jar /mnt/c/test.jar

不起作用:“无法访问jarfile /mnt/c/test.jar”

当我进入目录时:

cd /mnt/c

再执行一次,就可以了:

java -jar test.jar

如果我与jar文件不在同一个目录,则会出错。有人可以解释原因并给出解决方案吗?谢谢。

3 个答案:

答案 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作为参数,并且在实际打开文件时,路径在操作系统级别不存在。