【问题标题】:Why classpath=/tomcat_lib/ doesn't work为什么 classpath=/tomcat_lib/ 不起作用
【发布时间】:2011-05-02 22:16:01
【问题描述】:

大家好,

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

我累了

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

但它不起作用

但如果我使用它会起作用

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

谁能帮忙解释一下?

【问题讨论】:

标签: java compilation classpath


【解决方案1】:

要将 jar 添加到您的类路径中,您需要指定 .jar 文件的路径并包括该路径。

引用official Java SE 6 documentation at Oracle.com

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

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

...以及来自same documentation 的“文件夹和存档文件”部分:

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

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

【讨论】:

  • 完美。我有同样的问题。搜索 StackOverFlow 比发布新问题要好得多。
猜你喜欢
  • 1970-01-01
  • 2011-04-08
  • 1970-01-01
  • 2013-05-12
  • 2013-03-07
  • 2019-08-06
  • 2016-07-05
  • 2011-08-06
相关资源
最近更新 更多