以前也研究过Eclipse里Web Project引用Java Project的问题,没有解决,特地再深入研究了一下。
思路及实践如下:
1.Elcipse里Project Properties里有Project Reference的设置,说明有这个特性,Java Builder Path里也有引用的Projects设置。
试验:建立两个Java Project A、B,B引用A,设置B的Java Builder Path/Projects引用Project A,则B中的Class可以调用A中的Class,编译和运行都通过。
说明Eclipse对Java Project的解决方案良好。
(Project Reference的设置不知道有什么用处)
2.Web应用,使用Eclipse WTP
按上面的试验设置,(这里的B项目是一个Web项目),编译可以通过,但是运行时找不到A项目中的类。
没有找到有相应的解决方案。
3.Web应用,使用Sysdeo Tomcat Plugin
发现有这个Window/Preferences/Tomcat/Advanced/Add Java Projects to Tomcat classpath设置,将Java项目设置到Tomcat的类路径中,对Tomcat是全局的,有一些不灵活,和其它的缺陷,比如加载这些类的ClassLoader将是SystemClassLoader而不是WebAppClassLoader,这将影响某些资源文件的加载。
另外,我在Tomcat5.5.17上试验这个设置,结果启动Tomcat就出错。
看了Sysdeo的文档,它介绍了DevLoader就专门解决这个问题的。看了一下他的源码,很简单,总共只有200行,基本上的逻辑是,读取Eclipse项目下的.#webclasspath、.classpath文件以获得引用的java类路径,由
DevLoader加载这些项目外的类。
具体操作是:
1)设置Java Builder Path;
2)将Sysdeo Plugin下的DevLoader.zip解压到Tomcat目录/server/classes下,在Tomcat Project/Project Properties/Tomcat/Devloader 中选中Active DevLoader,及选中列表中项目外的classpath。
参考Sysdeo Plugin的ReadmeDevLoader.html.
这样就解决了这个问题,效果是:修改了项目A、B中的代码,不用重起Tomcat,就可以在浏览器中立即看到修改后的效果。
==========================================
Sysdeo Eclipse Tomcat Launcher plugin 是做J2EE开发的时候经常用到的一款插件,可以在Eclipse中启动Tomcat,同时可以把Tomcat进程绑定到Eclipse Java Debugger中,这样可以在运行时进行一些debug操作,当修改或者新增、删除了一些java文件以后,Tomcat Context会自动重新load,这样不用每次做了修改都需要重启Tomcat。
在使用这款插件的时候,往往很多人会遇到这样的一个异常:ClassNotFoundException: org.apache.catalina.loader.DevLoader,很多人解决的办法往往是禁用DevLoader功能。其实DevLoader提供的功能是很有用的,它实现和扩展了WebappLoader。我们知道,默认情况下,我们需要把classes和jar文件都放到web应用所在的WEB-INF/classes和WEB-INF/lib下,但是在实际的开发环境下,往往需要引用到外部的classes和jar文件,比如另外一个项目中的classes,这个时候如果在没有DevLoader的情况下我们需要把这些classes和jar文件拷贝到web应用所在的WEB-INF下的相应目录中,而如果启用了DevLoader,则没有了上述的限制,可以加载项目用到的所有classpath中的classes和jar。
启用DevLoader的方法:
选中Activate DevLoader
选中需要加载的类库
在插件包中找到文件DevLoader.zip,解压缩到tomcat/server/classes下
如果是tomcat6.0,只要把DevelopLoader.zip改名为DevelopLoader.jar,然后放到lib下就可以了。
分享到:
相关推荐
1. **.project**:这是Eclipse项目的配置文件,包含了项目类型、构建设置、库引用等信息。 2. **.classpath**:定义了项目所需的类路径,包括JRE系统库、用户库和其他项目的依赖。 3. **src**目录:通常包含源代码...
3. **控件封装**:这里的“封装”是指将JieCaoVideoPlayer的源码或者库文件整合到一个Eclipse项目中,使其可以直接被其他Eclipse项目引用和使用。通过这种方式,开发者可以快速在自己的应用中实现视频播放功能,而...
Eclipse的依赖管理主要通过构建路径实现,可以添加外部JAR库、项目引用或使用Maven、Gradle等构建工具来管理依赖。 八、插件开发与扩展 Eclipse作为一个开放平台,允许开发和安装各种插件以增强其功能。开发者可以...
在本文中,我们将学习如何将poi导入到eclipse中,并搭建好eclipse环境项目,以便更深一步地学习Java读取Microsoft Office的文件。 首先,需要下载poi的jar包。截至本文发表,poi最新版本是3.0.1,距离上一个Final...
- **错误提示**:导入后,Eclipse可能会显示一些错误,例如编译错误或资源引用错误。检查这些问题并根据提示进行修复。 总的来说,正确导入Android或Java项目到Eclipse的关键在于理解workspace的作用和正确配置项目...
《安卓考试》Eclipse项目是一个面向开发者的学习资源,旨在帮助用户熟悉和掌握使用Eclipse IDE进行Android应用开发的相关技能。Eclipse是早期Android开发者广泛使用的集成开发环境(IDE),它提供了编写、调试和构建...
当一个团队或开发者从Eclipse迁移到IntelliJ IDEA时,如何顺利导入已有的Eclipse项目就显得尤为重要。下面将详细介绍在不使用Maven构建的情况下,如何在IntelliJ IDEA中导入Eclipse项目。 1. **打开项目** 首步是...
### MyEclipse项目转换成Eclipse项目的详细指南 在软件开发过程中,开发人员可能会遇到需要在不同的集成开发环境(IDE)之间迁移项目的情况。本文主要介绍如何将MyEclipse中的项目转换为Eclipse项目,尤其是如何...
然而,如果项目引用了外部 JAR 包,那么直接导出的方法就不再适用。因为 Eclipse 不支持直接将外部 JAR 包一同打包进 JAR 文件。这时我们需要采用方法二: 1. 首先,生成一个名为 MANIFEST.MF 的清单文件。选中你的...
这个“android 源码 android Widget开发案例 eclipse项目 直接导入”是一个很好的学习资源,帮助开发者深入理解如何构建和定制Widget。通过Eclipse IDE可以直接导入该项目,快速开始学习。 首先,我们需要了解...
这个"JPedal Source源码Eclipse项目"提供了JPedal库的完整源代码,使得开发人员可以深入理解其内部工作原理,进行自定义修改或扩展功能。 源代码通常对于学习、调试和优化软件至关重要,特别是对于开源项目。通过...
首先,让我们了解如何在Eclipse项目中集成SweetAlertDialog库。你需要将`appcompat`库添加到项目依赖中,因为SweetAlertDialog依赖于这个库来支持更广泛的Android版本。`appcompat`库包含了对Android v7 AppCompat的...
在这个项目中,`.classpath`和`.project`文件是Eclipse项目的核心配置文件,它们定义了项目的类路径和项目结构,使得在Eclipse环境下可以正确识别和编译项目。 `AndroidManifest.xml`是每个Android应用的必备文件,...
在Eclipse插件项目中引用第三方JAR包并解决空指针异常,是开发者经常会遇到的问题,特别是对于那些使用Eclipse RCP(Rich Client Platform)进行桌面应用开发的程序员。以下将详细介绍这个问题的解决方法以及相关...
### Eclipse 项目打包成可执行JAR文件详解 在Java开发过程中,经常需要将开发完成的应用程序打包成可执行的JAR文件以便于部署和分发。本文将详细介绍如何使用Eclipse IDE将Java项目打包成可执行的JAR文件。 #### ...
1. **Eclipse项目构建路径配置(Build Path)**:Eclipse利用构建路径来定位项目依赖的库文件和资源文件。当项目在导入或者迁移过程中,如果构建路径未能正确指向所需的库文件,就会导致构建失败,并在项目名称前...
但是src/main/resources等资源目录只有在Eclipse项目重载时才会反映在target/classes ,所以如果在Eclipse外编辑资源文件,每次都需要重载Eclipse项目... 如果找到的 Java 类文件以外的资源位于target/classes ,...
在Eclipse中,你还可以使用`@see`标签引用其他类或方法,`@author`标签标注代码作者,以及`@since`标签记录功能自哪个版本开始引入等,这些都会提高apidocs的可读性和实用性。 总之,为工程项目添加apidocs是提升...
它允许开发者为Eclipse项目增添特定的行为和功能。比如,当你想要基于Java项目构建一个定制的开发环境时,可以通过扩展项目特性来实现。本文将以"HelloWorldNature"为例,详细讲解如何实现这一过程。 1. **项目特性...
- 在项目属性设置中,将新的头文件目录添加到路径列表中,确保所有必要的头文件都能被正确引用。 #### 三、C++项目编译 1. **编译操作**: - 选中项目,然后通过右键菜单中的“Build Project”选项进行编译。 -...