我有一个问题,需要使用Eclipse的集成插件WTP找到sysdeo插件的性能表现。
为了进行迁移和比较,我在Eclipse中分别安装了两个插件。
根据我的理解,我注意到了生产力上的差异:WTP需要将源代码发布到一个构建目录中,以便Tomcat可以将它们整合。这个"发布"需要花费一些时间,需要重载上下文,以便修改后才能看到效果。(大多数情况下为5秒,最长为15-20秒)。
Sysdeo没有这个问题;它将目标对准了Eclipse目录,因此当文件被修改时,Eclipse会在项目内部进行构建,这些修改将立即可用(在浏览器上按F5即可立即查看结果)。
这是我的服务器配置:
"无需发布即可提供模块"选项允许像Sysdeo一样选择正在运行的项目的构建目录。这个配置在上下文文件中表达。(为了能够回溯,我已经勾选了"将模块内容发布到单独的XML文件中")
这些文件的比较如下:
- 这是由Sysdeo生成的上下文文件
< Context path="/tatoile _syseo" reloadable="false" docBase="D:\32bit\serveur32bit\workspace\tatoile _syseo" workDir="D:\32bit\serveur32bit\workspace\tatoile _syseo\work" />
- 由WTP生成的文件上下文
< ?xml version="1.0" encoding="UTF-8"?> <Context docBase="D:\32bit\serveur32bit\workspace\tatoile\web" path="/tatoile" reloadable="true" source="org.eclipse.jst.jee.server:tatoile"> <Resources className="org.eclipse.jst.server.tomcat.loader.WtpDirContext" extraResourcePaths="/WEB-INF/classes|D:\32bit\serveur32bit\workspace\tatoile\build\classes" virtualClasspath="D:\32bit\serveur32bit\workspace\tatoile\build\classes"/> <Loader className="org.eclipse.jst.server.tomcat.loader.WtpWebappLoader" useSystemClassLoaderAsParent="false" virtualClasspath="D:\32bit\serveur32bit\workspace\tatoile\build\classes"/> <JarScanner scanAllDirectories="true"/> </Context>
稍后分析这两个文件是相似的。
现在让我们回到问题上。我使用相同的服务器,因此上面的两个上下文文件都针对该服务器进行定义。经验:我通过sysdeo插件启动tomcat,在WTP方式下配置一种方式,通过sysdeo配置另一种方式。两种权限以相同的方式响应,修改在tatoile_syseo和tatoile项目中都是立即生效的。
另一方面,我通过Eclipse中的WTP插件(选项卡服务器等)启动tomcat,修改并未立即在tatoile_syseo和tatoile项目中生效。注意:必须将自动重新加载设置为已启用,以便考虑到修改。(当服务器向我们指示已重新加载上下文时,我们可以看到修改。)
我推断出来的是,配置上下文不是原因,而是插件启动tomcat的方式;而我被困在哪里……
这是WTP项目: