任何人都可以在以下行中澄清Tomcat中类库的含义:
实际上,web-app使用的所有类(除非它们是类路径类库中的类库的一部分)必须遵循与servlet类相同的规则 - 在WEB-INF / classes中,与包匹配的目录结构(或在WEB-INF / lib内的JAR中的相应包目录中)。
上段中的类库和类路径对它们意味着什么?
答案 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.jar
和vm.jar
之类的内容,其中包含类似java.lang.String
的类。您可以将目录和jar附加到类路径,以允许VM查找默认情况下安装的类以外的类。
class library
是打包供应用程序使用的类的集合。出于所有实际目的,它是一个包含有用类的jar,如junit.jar
。
消息的含义是:如果你想使用库类(比如log4j中的东西),它需要在类路径上,在WEB-INF / classes或WEB-INF / lib中。