繁体   English   中英

在 Eclipse 上运行的 Java 项目,但在使用批处理时出错

[英]Java project running on eclipse but giving error while using batch

我为我的大学做了一个项目。 我需要传递命令行参数的地方。 它在 eclipse 上运行得非常好,但是当我使用批处理文件运行它时。

编译时出错

我的批处理文件看起来像

set path = "c:\Program Files\Java\jdk-14.0.2\bin";
javac FileHand.java
java FileHand DirectBuffer 1024 Sample.txt
pause

根本不要设置 %path%。 如果你想对java的完整路径进行“硬编码”,那么就这样做; 写入C:\\program files\\....\\javac ,或SET JAVA_LOC=...然后%JAVALOC%\\javac 但是,这显然是不需要的; 您弄乱了 SET PATH 语句,但正在调用 javac,因此,您可能应该删除整个“设置路径”行。

问题是类路径。 有一个名为 DirectBuffer.class 的文件。 它在某个地方——你说“它在 eclipse 中有效”,这意味着 eclipse 可以找到这个文件,因为你告诉它它在哪里。 你需要告诉 javac 它在哪里。 您可以按如下方式执行此操作:

javac -cp LOC1;LOC2;LOC3 FileHandjava

java -cp .;LOC1;LOC2;LOC3 FileHand DirectBuffer 1024 Sample.txt

其中LOC1是一条路径。 它可以是一个目录,也可以是一个 jar 文件。 您的问题没有说明这一点,但假设DirectBuffer' is in the com.foo.pkg package (so, you have的源文件中package (so, you have import com.foo.pkg.DirectBuffer;`),然后:

任何一个:

cd (whatever you put for LOC1)
cd com\foo\pkg
dir

应该打印,除其他外,'DirectBuffer.class',或者,如果 LOC1 是一个 jar 文件:

jar tvf (the jar file listed in LOC1)

应该打印com/foo/pkg/DirectBuffer.class等等。 您已经告诉 eclipse 了,所以现在找到您执行该操作的地方并告诉 javac。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM