java - Eclipse 中的链接项目/文件夹不会部署在 tomcat 中

标签 java eclipse tomcat deployment

我使用 Eclipse 创建了两个动态 Web 项目。一个用于构建/部署,另一个是虚拟项目,其中包含要包含在其他项目中的类、资源和 jar。

我的项目布局是这样的:

Project PortalLogin

java sources: src folder + resources folder
build
target
common
WebContent/WEB-INF: lib folder + classes folder (actually empty, it is just a linked resource to the lib and classes folder of the common project)


Project PortalCommon

java sources: src folder + resources folder
build
target
WebContent/WEB-INF: lib folder + classes folder

项目链接在一起如下:

enter image description here

这也是为什么在 PortalLogin 项目的布局中存在“common”文件夹的原因。

但是,当我将PortalLogin项目部署到tomcat 7.0时,容器会提示找不到公共(public)项目的源文件,并在他需要的第一个类抛出ClassNotFoundException:

Caused by: java.lang.ClassNotFoundException: company.acme.portal.common.webapp.UndefinedActionHandler at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) at com.opensymphony.xwork2.util.ClassLoaderUtil.loadClass(ClassLoaderUtil.java:152) at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:216) ... 19 more

我查看了我的 tomcat 服务器配置,发现在“源”选项卡中正确包含了两个项目:

enter image description here

claspath 没有显示任何可疑的东西?

enter image description here

作为最后的检查,我查看了我的文件系统,看看 Common 项目是否真的将 .java 源文件构建到 .classes 文件中,并且它们正确存在。

我的第一次尝试是按照描述使用部署程序集 in this question ,但是当我点击“java build entry”时,我只看到一个空列表,我无法点击那里的任何内容。

我的第二次尝试也是使用部署程序集来添加公共(public)项目和/或公共(public)项目的源文件夹,如下所示。这并没有解决问题。

enter image description here

最后,我尝试按照 in this question 所述将项目添加到 tomcat 服务器配置中的类路径中.这确实有效...但现在我的 tomcat 突然在 web-inf/lib 文件夹中找不到任何 jar,在 program files/apache/tomcat 7.0/lib 中也找不到任何 jar。所以在那里添加项目搞砸了其他事情,我不知道如何解决这个问题。

enter image description here

有什么想法吗?

编辑:服务器模块概览截图

enter image description here

最佳答案

PortalCommon不能是web项目,只能是java项目。
将 PortalCommon 添加到 PortalLogin 的“Build Path”和“Deployment Assembly”

然后 Tomcat>清理。

关于java - Eclipse 中的链接项目/文件夹不会部署在 tomcat 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27315809/

相关文章:

java - 子字符串 IndexOutOfBoundsException

java - Android Launcher2源码导入

php - 如何在 eclipse 中为 cakephp view.ctp 文件添加语法突出显示?

java - 哪个 Eclipse 最适合 Android 开发?

tomcat - 让 Junit 重用 Tomcat context.xml

java - jsp 上未显示 Action 属性

java - 如何从 Assets 文件夹创建文件对象?

java - 希望每次调用都保存以提交

java - Java 7 Diamond Operator 编译错误 : ArrayList<>();

java - Intellij 13 中的 Tomcat 实例出错