我通常在设置类路径和运行程序时没有任何问题,但我遇到了一些问题。我正在制作一个可以下载一系列报告的程序。如果工作目录名为Report downloader,则我的项目位于
src/org/report/reportdownloader
和我正在使用的jar文件驻留在
中lib/
当我要编译我的项目时(我在windows :()中输入
javac -classpath .;..\..\..\..\..\lib.transfer.jar; ..\..\..\..\..\lib.someotherjar.jar; ReportGrabber.java ReportDriver.java
我收到一条错误消息
ReportDriver.java:12: error:package com.transfer does not exist
import com.transfer.*;
^
1 error
我真的不明白为什么。我正在尝试导入一个有效的包,然后我向它展示了在类路径中找到jar的位置,它仍然让我感到悲伤。
我正在失去理智,我对这个问题感到非常愚蠢。我可以放弃并使用eclipse但我真的想弄明白。
编辑:当我输入
java -cp .;..\..\..\..\lib\transfer.jar; ..\..\..\..\lib\someotherjar.jar; ReportDriver
运行该文件,我收到错误
Error: could not find or load main class ..\..\..\..\lib\someotherjar.jar;
有什么想法吗?
答案 0 :(得分:2)
为什么有5 .. 而不是4?
从 reportdownloader 访问 lib 目录,你必须这样做
..\..\..\..\lib
不
..\..\..\..\..\lib
答案 1 :(得分:0)
使用相对路径对我来说似乎是一个坏主意。
为什么不这样做:
... -classpath /lib/transfer.jar /lib/someother.jar
或在Windows中:
... -classpath c:\lib\transfer.jar c:\lib\someother.jar