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

时间:2011-05-02 22:16:01

标签: java compilation classpath

嗨,伙计们,

/ tomcat_lib下有一个abc.jar。我需要在我的def.java

中使用它

我累了

  

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

但它不起作用

但如果我使用

,它是否有效
  

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

任何人都可以帮忙解释一下吗?

1 个答案:

答案 0 :(得分:6)

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

引用official Java SE 6 documentation at Oracle.com

  

每个[类路径中的项目]都应该   以文件名或目录结束   取决于你设置的是什么   类路径:

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

...以及same documentation

的“文件夹和存档文件”部分
  

当类存储在目录中时   (文件夹),喜欢   c:\ java \ MyClasses \ utility \ myapp,然后   类路径条目指向   包含第一个的目录   包名称的元素。 (在此   case,C:\ java \ MyClasses,因为   包名是utility.myapp。)

     

但是当课程存储在   归档文件(.zip或.jar文件)   类路径条目是和的路径   包括.zip或.jar文件。