Eclipse WTP与sydeo,“无需发布即可提供模块”


103

我有一个问题,使用集成的Eclipse插件WTP来找到sysdeo插件的性能。

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

根据我的理解,我注意到生产率的差异:WTP需要在目录构建中发布源,以便Tomcat安排它们。这种“紫色”很长:需要对上下文进行重新充电,以便可以看到修改。(5码在大多数码场中干燥15秒-最长20秒)。

Sysdeo不;因此,一旦文件进行了修改,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版本=“ 1.0”编码=“ UTF-8”?> <上下文docBase =“ D:\ 32bit \ serveur32bit \ workspace \ tatoile \ web” path =“ / tatoile” reloadable =“ true” source =“ org .eclipse.jst.jee.server:tatoile“> <资源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“ /> <加载程序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,另一种是通过sysdeo进行配置。两国当局以同样的方式作出反应,修改在Tatoile _syseo和Tatoile中立即生效。

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

在此处输入图片说明

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

这是WTP项目:

在此处输入图片说明


5
您在Sysdeo或WTP上有问题吗?OTOH确保WTP会花费更多时间进行更改,因为它们将被重新发布:(1)构建类(2)取消部署旧的Web应用程序(3)将构建结果复制到tomcat的deploy文件夹(4)tomcat将自动启动应用程式。同时,使用sysdeo,一旦进行更改(即在任何类文件中由新日期标识),就可以即时修改RAM中的类。然后,存在一些无法动态更改的限制(当您添加新方法时,类结构也会更改),在这种情况下,它将发出警告。

我在同一项目上同时使用了Sysdeo和WTP。我注意到的最重要的区别是,Sysdeo的配置对我来说似乎更容易,但这可能会有所偏差。
Markus 2014年

2
通过在WTP部署中添加MAVEN解决了该问题。没有性能问题。没有性能问题,我不激活“在不发布的情况下提供服务”
Vsplit 2014年

1
如果您解决了问题,可以发表答案吗?
Anubian Noob 2014年

@AnubianNoob是的,当我在先例中解释过时。我通过使用Maven配置解决了这个问题。
Vsplit

Answers:


3

@Vsplit引用的答案

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


-1这不是答案。请添加更多详细信息。
Isaac G Sivaa 2014年

1
您好,很抱歉我的回答很晚。但是,您必须注意,我无法解决有关issus的Sysdeo插件。但是我在WTP部署中使用了Maven插件。您可以在youtube.com/watch?v=YeC7XQho-O0中
Vsplit 2014年

2

在插件市场中找到名为m2e-wtp的免费插件。这将解决所提供的范围问题。至于未部署的类,我通常会看到的是部署程序集和/或Java Build Path。确保所有条目(和从属模块)都在正确的位置。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.