Java说:**错误**:无法访问javafile

Java说:**错误**:无法访问javafile,java,actionscript-3,Java,Actionscript 3,[(很遗憾,这个问题已经被问到了。)] 我有一个批处理文件D:\Hydroper\Projects\Java\ASC\bin\ASC.cmd,它在同一目录中执行一个JAR文件\target\ASC-1.JAR。绝对路径:D:\Hydroper\Projects\Java\ASC\bin\target\ASC-1.jar 但是,当我执行batchfile时,会出现无法访问jarfile错误: asc -strict Main.as 但是我的罐子在那里。即使添加.jar或以管理员权限执行,错误仍然

[(很遗憾,这个问题已经被问到了。)]

我有一个批处理文件
D:\Hydroper\Projects\Java\ASC\bin\ASC.cmd
,它在同一目录中执行一个JAR文件
\target\ASC-1.JAR
。绝对路径:
D:\Hydroper\Projects\Java\ASC\bin\target\ASC-1.jar

但是,当我执行batchfile时,会出现无法访问jarfile错误:

asc -strict Main.as
但是我的罐子在那里。即使添加
.jar
或以管理员权限执行,错误仍然存在。它是用Maven自动构建的

这是我的批次:

java -jar "D:\Hydroper\Projects\Java\ASC\bin\target\asc-1" %*
当我做
java-jar时,它就工作了。。。在命令行中手动设置args
,但我不喜欢这样。我更喜欢给那个命令加别名

类路径

相反,我也尝试了以下方法:

java macromedia.asc.embedding.Main "%*"
它很好用,但ASC不行
asc-help
工作正常,但
asc-help Main。as
表示找不到我的as文件,但我在正确的目录中。

只需执行以下操作:-

cd D:\Hydroper\Projects\Java\ASC\bin
asc.cmd
文件复制到
bin
文件夹中,并修改批处理文件,如下所示

 java -jar target\asc-1.jar
首先从命令提示符执行上述命令,然后从批处理文件执行相同的命令,如下所示:-

cd D:\Hydroper\Projects\Java\ASC\bin
java -jar target\asc-1.jar
当我们使用批处理文件或shell脚本来运行java应用程序时,请按以下方式执行:-

cd D:\Hydroper\Projects\Java\ASC\bin
java -jar target\asc-1.jar
在批处理文件中

CP="C:\lib\example1.jar;C:\lib\example2.jar;D:\Hydroper\Projects\Java\ASC\bin\target\asc-1.jar"

java -cp %CP% com.your.java.class.MyExample

ASC一直都在垃圾箱里,但现在我意识到我把Macromedia文件夹忘在了“\ASC”之前,所以我投票支持你的帮助。好吧,它在命令行中运行良好,但在batchfile中,ASC仍然无法说出my Main.as找不到。我不知道为什么!注意:相对路径不起作用,这就是为什么我必须使用完全指定的路径D:\。您是从bin运行asc.cmd还是像D:\Hydroper\Projects\Java\asc\bin\asc.cmd一样运行它?在bin中运行它,如./asc.cmdI使用带有D:\(由于可怕的java.exe…)的绝对路径从bin运行它。但是,我的Main.as在C:\Users\X\Documents\Main.as中,即使asc.cmd(我的批处理文件)在那里执行得很好。我已经尝试过很多次相对路径,但它并没有真正起作用;奇怪,奇怪。继续:当前错误发生在ASC中。我不确定它是否占用了我当前的工作目录。然而,它在早些时候起了作用。这很奇怪…使用类路径变量并尝试。在批处理文件中,首先设置变量和java中所有JAR的类路径-cp%cp%