Eclipse WTP vs sydeo,“在不发布的情况下为模块提供服务”

2022-08-31 10:10:09

我有问题通过使用eclipse的集成插件WTP来查找插件sysdeo的性能。

为了进行迁移并进行比较,我将两者都安装在eclipse中的单独项目中。

根据我的理解,我注意到生产力的差异:WTP需要在目录构建中发布源代码,以便tomcat能够安排它们。这个“pulish”很长:需要对上下文进行充电,以便修改是可见的。(5 在大多数院子里干燥15秒 - 最长20秒)。

Sysdeo no;因此,一旦文件进行了修改,它就会在目录中构建目录eclipse的目标,eclipse构建和这些修改立即可用(浏览器上的F5,我们立即获得结果)。

这是我的服务器配置:

选项“在不发布的情况下提供模块”允许使sydeo准确:选择正在运行的项目的构建目录。此配置在上下文文件中表示自己。(为了能够取回它,我已经检查了“ 发布调制上下文以锯切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,两个上下文中的负载由sysdeo配置WTP的方式。两个当局的反应都相同,修改是立即在tatoile_syseo和tatoile。

另一方面,我通过eclipse中的插件WTP(选项卡服务器等)启动tomcat,在tatoile_syseo和tatoile项目中都不会立即进行修改。注意:必须将自动重新加载放在“已启用”中,以便将修改考虑在内。(当服务器指示我们它已经重新加载上下文时,我们可以看到修改。

enter image description here

我从中推断出,上下文的配置不是原因,而是插件启动tomcat的方式;那里或我干...

这是WTP项目:

enter image description here


答案 1

答案引自@Vsplit

通过在 WTP 部署中添加 MAVEN 解决了该问题。没有性能问题...并且我不会在没有发布的情况下激活服务模块


答案 2

在插件市场中寻找一个名为m2e-wtp的免费插件。这将解决所提供的范围问题。至于未部署的类,我通常查看的位置是部署程序集和/或 Java 构建路径。确保条目(和依赖模块)都在那里,并且位于正确的位置。


推荐