将tomcat jar / lib目录添加到Mac OS X上的eclipse类路径[重复]

Posted

技术标签:

【中文标题】将tomcat jar / lib目录添加到Mac OS X上的eclipse类路径[重复]【英文标题】:Add tomcat jar/lib directory to eclipse classpath on Mac OS X [duplicate] 【发布时间】:2013-10-27 22:06:51 【问题描述】:

我有一个项目需要一些 Tomcat 库才能正常运行。我安装了 Tomcat(在 Mac 上),它本质上只是一个放置文件夹的过程。我最初通过将所需的 jar 文件添加为项目的外部 jar 来解决该问题 - 但这与我不能允许的项目 .classpath 混淆 - 这些更改将在我们的源代码控制中进行跟踪。

我尝试将tomcat/lib 目录作为类路径变量添加到eclipse,但这并不能解决问题。

当tomcat服务器启动时,我收到ClassNotFoundException: HttpServletRequest

我还能如何添加 tomcat lib 目录,这样我就不会修改项目类路径?

【问题讨论】:

如果不更改.classpath 文件,就不能将任何JAR 添加到项目的构建路径中。然而,运行时是另一回事。无论如何,这正是类变量旨在解决的问题。确切地说,“这不能解决问题”是什么意思? 在 Eclipse 菜单中添加一个新的“类路径变量”没有效果。代码在缺少的 tomcat 代码引用下继续显示红色错误,并且启动 tomcat 服务器(从 eclipse 中)错误并出现上述错误。结果相同。 更多详细信息会有所帮助,例如您所做的分步描述,甚至是一些屏幕截图,例如下面的一些答案。我已经多次使用类路径变量来解决这类问题,所以我怀疑你只是错过了使用它们的一些东西。您是否尝试过阅读有关它们的帮助? 我可能确实错过了一些东西。我进入了 eclipse -> 首选项 -> java -> 构建路径 -> 类路径变量。我添加了一个名为 tomcat_libs 的新变量,将其指向 tomcat lib 目录。我猜这还不足以告诉 eclipse 包含这些 JAR,因为没有任何改变。我只能通过在项目中专门包含 JAR 来解决此问题。 创建类路径变量只是工作的一半,然后您需要在项目的构建路径中使用它,并可能在用于运行应用程序的启动配置中使用它。正如我所说,你不能在不触及 .classpath 的情况下向项目的构建类路径中添加任何内容,这就是 Eclipse 存储项目的编译时类路径所包含的内容的方式。 【参考方案1】:

在 Windows 用户使用 subversion 时,我曾多次遇到此问题。 Tomcat 目录将有servlet-api.jar。 复制粘贴到你的eclipse项目中,右键添加到构建路径。

现在您不想提交类路径。然后在提交时简单地取消选择.classpath 文件。

【讨论】:

【参考方案2】:

您可以安装 Webtools 插件(JavaEE 开发人员默认安装在 Eclipse 中),然后您将获得 Tomcat 运行时支持。然后,您可以将“Tomcat 运行时”添加到您的项目中,它将自动包含所有可用于在 Tomcat 上运行的 webapps 的 Tomcat jar。

    Window > Preferences > Server > Runtime environments 添加.. 选择 Tomcat 版本 浏览到 tomcat 安装目录 右键单击您的项目 > 属性 选择 Java 构建路径 添加库... > 服务器运行时 > select your runtime you created

此过程还将修改您的.classpath 文件,但这样做的方式很容易与其他开发人员共享。

【讨论】:

它有效,但我想知道为什么在运行时设置类路径不起作用。 tomcat 会覆盖还是忽略类路径?【参考方案3】:

也许您可以创建一个包含 tomcat/lib 中的 jar 的用户库,然后通过这些步骤将用户库添加到您的 java 项目中:

构建路径 > 配置构建路径 > 库 > 添加库 > 添加用户库

【讨论】:

这可行,但也修改了项目类路径,我必须避免。添加一个条目:【参考方案4】:

我使用位于http://www.eclipsetotale.com/tomcatPlugin.html 的 sysdeo tomcat 插件。你也可以通过Help->Eclipse Marketplace->搜索sysdeo来安装它

它的作用是在您的选项中添加一个名为 tomcat 的菜单项,允许您将项目添加到 tomcat 类路径并将 tomcat 库添加到项目预编译中。

这是它的一些截图。

启动和停止 tomcat 变得更容易:

以及您可以在哪里将库添加到类路径(以及更多)

【讨论】:

Eclipse 似乎不允许我安装它,也许它不再受支持?它至少显示过去一个月的 0 次安装 我从未从市场上安装过,但您可以尝试直接从网站下载并手动安装 手动安装了这个插件,按照屏幕截图的建议将tomcat lib目录添加到classpath字段。 Eclipse 仍然显示 javax.servlet.http.HttpServletRequest 包的红色下划线,当我通过 eclipse 启动 tomcat 服务器时,我仍然看到 ClassNotFoundException: HttpServletRequest。【参考方案5】:

基本上我使用的是我不知道的 Windows,但是你可以从 Eclipse 中右键单击 Eclipse 中的项目然后查看该导入(类似的东西)服务器的(tomcat)lib 文件的构建路径如果需要,您可以在其中安装服务器并放置所有 libs 文件

【讨论】:

我不清楚您指的是哪个“构建路径”菜单选项,但我无法将它们添加为外部 JAR、用户库等,因为它们都会更改 .classpath文件。 采取这些步骤:Build Path > Configure Build Path > Libraries > Add External jars 找到您安装服务器的位置,就像我在C: 中安装的一样,对于服务器库,我有这个文件夹的路径C:\server\tomcat-7.0.39\lib 然后选择servlet-api.jarjsp-api 类似的东西 该方法是我最初正在做的,但它不是一个长期的解决方案,因为它会更改项目中的类路径文件,然后会显示在版本控制提交中。我无法提交该文件(但也不能忽略它,它已经在版本控制中进行了跟踪)

以上是关于将tomcat jar / lib目录添加到Mac OS X上的eclipse类路径[重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用 Eclipse/Tomcat 自动将 3rd 方 jars 添加到 WEB-INF/lib

Tomcat6的lib文件夹里的jar包的作用

在tomcat类路径中包含web-inf / lib中的目录

Tomcat 组件

将 JAR 添加到 IntelliJ 中的 WEB-INF/lib 目录的正确过程是啥

tomcat报错日志