CLASSPATH,Java Buld Path(eclipse)和WEB-INF\LIB:使用什么,何时以及为什么?
我最近从.NET切换到J2EE,并且对放置JAR文件的位置感到困惑。我知道CLASSPATH,WEB-INF和Eclipse的Java Web Path都是可以存储JAR的地方,但我对使用哪个文件夹,何时以及为什么使用感到困惑。
首先,我们有CLASSPATH。我通常通过进入“我的计算机”中的“环境变量”来设置它。我知道这是Java编译器查找JAR文件的默认位置。当我向 CLASSPATH 环境变量添加文件夹或 JAR 时,为什么 Eclipse、Java 编译器和 Web 服务器忽略了它?
另外,我知道 WEB-INF\LIB 是一个可以放置 Web 应用将要使用的 JAR 文件的地方。但是,我把 JAR 放在 WEB-INF\LIB 中,只是为了忽略它们。在什么情况下我应该将 JAR 放入 WEB-INF\LIB 文件夹中?如何让 Eclipse 或 Web 服务器注意到它们?
到目前为止,唯一适合我的是实际更改Eclipse项目的Java构建路径。我将选择我需要的 JAR,然后点击“添加外部 JAR”。大多数时候,当我这样做时,Eclipse会识别我的JAR并阅读其中的类。但是,在执行此操作时,我遇到了一堆奇怪的随机错误(我认为主要与依赖项有关)。出于某种原因,我只是觉得这不是正确的做事方式,而且我错过了一些重要的信息。我什么时候应该在 Eclipse 中手动添加外部 JAR,什么时候应该以不同的方式做事?为什么 Eclipse 的 Java Build Path 似乎不知道我的 CLASSPATH 环境变量中的文件夹?
真的,我只想更好地了解CLASSPATH,Eclipse的Java Build Path和WEB-INF / LIB文件夹 - 它们所服务的目的,它们之间的关系,以及我应该在各种情况下放置我的JAR的位置。我很感激你能给我的任何建议,或者你可以推荐的任何文章。
谢谢。