如何解决Java项目在Eclipse上运行,但在使用批处理时出现错误
我为我的大学做了一个项目。我需要传递命令行参数的地方。在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
在源文件中导入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。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。