您的位置:首页 > 运维架构 > Tomcat

关于Tomcat 不能识别 Eclipse工作区间 Java web 工程

2013-08-06 09:53 183 查看
一、哪类工程不能识别
a) 普通java 项目
b) MyEclipse 下创建的 web 项目
c) Eclipse 下创建的web 项目(受损的)

二、Eclipse 内切 Tomcat 识别和部署 web 项目的关键点

所有工程都有一个用来标识自己的文件 (.project)

在eclipse 下,创建 web 项目时会自动生成一个 .settings 文件夹,里面文件如下



这里面的文件各有各的作用,尤其是以下两个文件:

文件:org.eclipse.wst.common.project.facet.core.xml

内容:
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<runtime name="Apache Tomcat v5.5"/>
<fixed facet="jst.java"/>
<fixed facet="jst.web"/>
<installed facet="jst.java" version="6.0"/>
<installed facet="jst.web" version="2.4"/>
<installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>
注:该文件标识工程的性质,也是Tomcat 识别该项目的一个标识性文件

文件: org.eclipse.wst.common.component

内容: (这里贴出初始内容)
<?xml version="1.0" encoding="UTF-8"?>
<project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="test_eclipse">
<wb-resource deploy-path="/" source-path="/WebRoot"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
<property name="context-root" value="test_eclipse"/>
<property name="java-output-path" value="/WebRoot/WEB-INF/classes"/>
</wb-module>
</project-modules>

分析:
<wb-module deploy-name="test_eclipse">
这里说的是,这个工程部署到web 容器中的名称为:“test_eclipse”

<wb-resource deploy-path="/" source-path="/WebRoot"/>
wb-resource 表示web 工程运行所要的资源

<property name="context-root" value="test_eclipse"/>
context-root 表示在web 容器里面该项目的根目录为 “test_eclipse”

property name="java-output-path" value="/WebRoot/WEB-INF/classes"/>
这里的意思是指的是java 编译生成的文件存放的路径


注: 将Eclipse 中 web 项目部署到 Tomcat 中所加载的资源就是通过该文件制定的


三、总结

让Tomcat 识别web 项目的关键点

1、 工程中有 .settings, 且文件夹中存在org.eclipse.wst.common.project.facet.core.xml 文件
2、 在工程的 .project 文件中加入如下内容:
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>

如图:.project内容



做到这两点就能够让 Tomcat 识别到 Eclipse工程了

部署工程到Tomcat 容器
一句话:工程运行所需呀的资源都需要指定在org.eclipse.wst.common.component文件中
如:





假如工程目录结构如下:



那么需要修改org.eclipse.wst.common.component文件如下,以用来将 lib/log4j 下面的jar包部署到Tomcat 中
如图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: