以前也研究过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,就可以在浏览器中立即看到修改后的效果。
分享到:
相关推荐
本文档介绍了使用 Eclipse 创建 Java Web 项目的步骤,包括安装 Apache-Tomcat 服务器、在 Eclipse 中添加服务器、创建 Dynamic Web 项目、配置 Servers、修改 Web.xml 文件、启动服务器和访问 Java Web 项目等。
在IT行业中,开发Java Web应用时,经常使用集成开发环境(IDE)如IntelliJ IDEA(简称Idea)和Eclipse。尽管Idea是许多开发者首选的工具,但有些项目可能是在Eclipse下创建和测试的。本篇将详细介绍如何在Idea中部署...
在IT行业中,开发Java Web应用程序时,经常使用集成开发环境(IDE)如Eclipse进行编码。然而,每次修改代码后都需要重启服务器以查看更改效果,这无疑降低了开发效率。为了解决这个问题,开发者通常寻求“热部署”...
在eclipse中,热部署可以通过配置服务器和项目的部署方式来实现。下面将详细介绍eclipse热部署的配置步骤和相关知识点。 热部署的原理 热部署的原理是基于Java的类加载机制。当我们修改了Java类文件后,热部署机制...
在开发Web应用程序时,结合Eclipse集成开发环境(IDE)和Tomcat服务器,我们可以实现项目的快速构建和热部署,提高开发效率。 1. **Maven Web 项目创建** Maven 提供了多种 archetype(模板)来创建不同类型的项目...
这个过程涉及到了源码管理和自动化构建工具Maven,以及集成开发环境Eclipse中的服务器适配器Tomcat,它们共同助力实现项目的热部署,即代码修改后无需重启服务器即可看到更新效果。 首先,Maven是一个强大的项目...
而在Eclipse中配置Jetty,可以实现热部署和实时调试,极大提高了开发效率。 1. **安装Jetty插件** 在Eclipse中配置Jetty的第一步是安装Jetty插件。你可以通过Eclipse的内置软件更新站点或Marketplace来搜索并安装...
### Eclipse热部署详解 #### 一、什么是热部署 ...通过以上步骤,无论是使用Eclipse还是MyEclipse,都可以有效地实现热部署功能,提高开发效率。希望这些详细的步骤能帮助解决开发过程中的问题。
在本文中,我们将介绍如何使用 Eclipse、Tomcat 和 JRebel 实现热部署。首先,需要下载 JRebel 的插件 update-site-6.4.0.RELEASE,并安装到 Eclipse 中。然后,需要破解 JRebel 的许可证,以便能够使用 JRebel 的...
4. Maven的maven-eclipse-plugin或maven-idea-plugin: 这些Maven插件可以帮助你生成IDE的项目文件,虽然它们现在已经不再维护,但在过去它们可以辅助实现热部署,通过与IDE的配合,自动跟踪源代码变化。 5. Spring ...
本文将详细讲解如何在Eclipse JEE环境中配置热部署,以便于在修改jsp和java文件后,无需重启Tomcat服务器即可实现应用的更新。 首先,我们要理解热部署的基本原理。热部署是指在运行状态下,对应用中的某些部分进行...
JRebel 是通过动态类加载技术,实现在运行时替换已经加载的类,以达到热部署的效果。它拦截了 JVM 的类加载过程,当检测到源代码发生变化时,会自动重新编译并加载新的类,而无需重启应用程序服务器。 **2. JRebel ...
标题中的"JRebel热部署工具-eclipse"指的就是将JRebel这个神器与Eclipse集成,以提升Java Web开发的效率。Eclipse作为广泛使用的Java集成开发环境(IDE),在开发者社区中拥有极高的声誉。然而,Eclipse默认的机制...
- 使用Eclipse内置的功能:在Eclipse IDE中集成了Tomcat服务器管理工具,可以直接通过Eclipse界面操作完成项目的发布和热部署,极大地简化了开发流程。 #### 利用`server.xml`文件实现自动发布 1. **修改`server....
### Maven + Tomcat + m2eclipse 的热部署详解 #### 概述 Maven、Tomcat 和 m2eclipse 是 Java...然而,需要注意的是,虽然热部署可以提高效率,但在生产环境中应谨慎使用,以避免因未完全测试的代码更新导致的问题。
本文档将详细介绍如何在Eclipse IDE环境下实现b3log-solo项目的热部署。通过此方案,开发者能够在不重启服务器的情况下快速更新代码并查看效果,极大提高开发效率。 #### 开发环境与工具配置 **开发环境:** ...
本篇文章将详细讲解如何使用Maven来构建并实现一个简单Web项目的热部署。 **一、Maven简介** Maven是一个基于项目对象模型(Project Object Model,POM)的概念,用于管理及构建Java项目。它通过POM文件来管理项目...
标题中的“配合m2eclipse,改造tomcatPluginV321根据maven的依赖自动热部署”涉及了两个主要的开发工具集成:M2Eclipse(Maven插件)和Tomcat Plugin V321,以及它们如何协同工作以实现基于Maven依赖的自动热部署。...
** Maven多模块项目详解 ** ...通过这个实例源码,你可以学习如何在Eclipse中配置Maven多模块项目,并结合Jetty进行热部署。了解并实践这些知识点,将有助于你快速构建和调试Java Web项目,提高开发效率。