为什么classpath =/tomcat_lib /不起作用

Dus*_*Sun 1 java compilation classpath

嗨,大家好,

/ tomcat_lib下有一个abc.jar.我需要在我的def.java中使用它

我累了

javac -classpath/tomcat_lib/-d ../classes def.java

但它不起作用

但是,如果我使用它可行

javac -classpath /tomcat_lib/abc.jar -d ....

谁能帮忙解释一下呢?

raz*_*ebe 6

要将jar添加到类路径,您需要指定直到并包含.jar文件的路径.

在Oracle.com上引用官方Java SE 6文档:

每个[类路径中的项目]应该以文件名或目录结尾,具体取决于您将类路径设置为:

  • 对于包含.class文件的.jar或.zip文件,类路径以.zip或.jar文件的名称结尾.
  • 对于未命名包中的.class文件,类路径以包含.class文件的目录结束.
  • 对于命名包中的.class文件,类路径以包含"root"包的目录(完整包名中的第一个包)结束.

...并从相同文档的"文件夹和存档文件"部分:

当类存储在目录(文件夹)中时,如c:\ java\MyClasses\utility\myapp,则类路径条目指向包含包名称的第一个元素的目录.(在这种情况下,C:\ java\MyClasses,因为包名是utility.myapp.)

但是当类存储在存档文件(.zip或.jar文件)中时,类路径条目是包含.zip或.jar文件的路径.

  • 完善.我有同样的问题.搜索StackOverFlow比发布新问题要好得多. (3认同)