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

时间:2014-12-05 12:23:00

标签: 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时,容器会抱怨他找不到公共项目的源文件,并在他需要的第一个类中抛出ClassNotFoundException:

  

引起:java.lang.ClassNotFoundException:   company.acme.portal.common.webapp.UndefinedActionHandler         在org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)         在org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)         在com.opensymphony.xwork2.util.ClassLoaderUtil.loadClass(ClassLoaderUtil.java:152)         在com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:216)         ......还有19个

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

enter image description here

claspath没有表现出任何可疑之处?

enter image description here

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

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

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

enter image description here

最后,我尝试将项目添加到tomcat服务器配置中的类路径中,如in this question所述。这样做......但现在突然我的tomcat在web-inf/lib文件夹中找不到任何jar,也找不到program files/apache/tomcat 7.0/lib中的任何jar。因此,添加项目会让其他东西变得混乱,我不知道如何解决这个问题。

enter image description here

有什么想法吗?

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

enter image description here

1 个答案:

答案 0 :(得分:1)

PortalCommon不能是一个web项目,它必须只是java项目 将PortalCommon添加到PortalLogin"构建路径"和"部署Assesmbly"

然后是Tomcat> Clean。