“类路径上的类库”是什么意思?

时间:2009-07-19 12:05:56

标签: java tomcat servlets

任何人都可以在以下行中澄清Tomcat中类库的含义

实际上,web-app使用的所有类(除非它们是类路径类库中的类库的一部分)必须遵循与servlet类相同的规则 - 在WEB-INF / classes中,与包匹配的目录结构(或在WEB-INF / lib内的JAR中的相应包目录中)。

上段中的类库和类路径对它们意味着什么?

2 个答案:

答案 0 :(得分:2)

听起来他们区分了你的网络应用程序中的.class文件,使用标准的WEB-INF成语打包在WAR文件中,以及应用程序服务器本身打包的文件(例如,在server / lib和common / lib中)对于Tomcat 5.x和Tomcat 6.x的lib。。

重要的是要知道Tomcat有一个类加载器的层次结构。您需要了解它们如何有效地使用Tomcat。

更新:如果了解CLASSPATH是您的问题,您需要知道部署中WEB-INF / classes和WEB-INF / lib下的JAR中的任何内容都在CLASSPATH中,以及应用服务器上安装的JAR所有部署的应用程序共享。这就是我在Tomcat 5.x和Tomcat 6的lib上使用common / lib和server / lib时的意思。

我认为我不明白你的问题是什么。你不明白CLASSPATH吗? CLASSPATH是JVM在需要尚未加载的.class文件时知道的所有位置。这包括部署在Tomcat上的所有应用程序可用的JAR以及特定部署的WEB-INF / classes和WEB-INF / lib目录。

答案 1 :(得分:2)

classpath是JVM应该查找类的位置列表。默认情况下,它包含rt.jarvm.jar之类的内容,其中包含类似java.lang.String的类。您可以将目录和jar附加到类路径,以允许VM查找默认情况下安装的类以外的类。

class library是打包供应用程序使用的类的集合。出于所有实际目的,它是一个包含有用类的jar,如junit.jar

消息的含义是:如果你想使用库类(比如log4j中的东西),它需要在类路径上,在WEB-INF / classes或WEB-INF / lib中。