Eclipse Maven Weblogic热门代码交换

时间:2013-11-05 17:49:42

标签: eclipse maven deployment weblogic12c hotswap

我有一个关于在eclipse中使用maven在Weblogic上运行Java EE应用程序的基本问题。

我使用OEPE(适用于Eclipse的Oracle Enterprise Pack),它带有一些插件,如m2e和wtp。据我所知,这个插件读取pom文件,并基于它们构建jar,war和ear文件。

我现在做的是这样的:

我自动检查构建选项并让这些插件创建我的EAR文件,然后右键单击Eclipse中的weblogic服务器实例并使用add / remove选项将其添加到服务器,最后启动应用程序服务器。这样,当我在我的类中更改代码时,它们将被应用程序服务器和热交换工作选择。

构建EAR文件的另一种方法是使用m2e插件:右键单击父pom文件并选择maven install然后启动应用程序服务器并使用wls:deploy来部署EAR文件。 (这次我没有从Eclipse中将ear文件添加到应用程序服务器,当我右键单击IDE中的weblogic实例时,eclipse也不知道该EAR文件)。

据我所见,我只能将这些工件添加到使用wtp插件构建的服务器,而不是使用m2e插件的maven命令构建的工件。 wtp和所有这些插件的问题(实际上只运行mvn -install的m2e除外)是它们无法正常工作。有时他们没有正确地构建工件,有时jar文件已经过时而且它们没有得到更新。此外,当您在另一个maven项目中使用一个项目的jar文件时,他们会在您更改之前使用jar文件,而使用m2e时,它们可以完美地构建。

现在这是一个真正的问题:

哪种方式才能进行热部署?

我错过了什么吗?使用m2e插件构建ear文件并使用wls进行部署:部署足够吗?如果是这样,热交换将如何发生,或者我应该使用wls:每次重新部署?如果m2e足够,那么我认为我应该放弃wtp插件(它不知道pom文件的所有插件,我有时应该在eclipse的生命周期管理xml文件中将它们标记为忽略)。

对不起,问题就是这么长,但我希望我能说清楚并获得一些帮助!

1 个答案:

答案 0 :(得分:2)

让我为您提供我的清单,以便在Weblogic上热部署我的Web应用程序。此核对表假设一个weblogic版本实现了Servlet 2.5,并假设您的项目是maven,其配置为运行JDK 1.6的maven-compiler-plugin。 换句话说,您的weblogic版本是10.x.x,而您的POM包含以下代码段:

<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
    <source>1.6</source>
    <target>1.6</target>
</configuration>

建立战争

使用OEPE插件创建新的Weblogic Web模块Weblogic.xml文件:

  • 不要启用弹簧扩展
  • 在FastSwap中:不要启用类重新定义
  • 记下值

    <wls:context-root>myappcontextroot</wls:context-root> 
    

    稍后将在热部署中使用

从项目的Eclipse上下文菜单中执行Maven更新项目

执行Maven clean install

对于热部署设置:

  • 在Windows中添加本地weblogic作为运行时服务器 - &gt; preferences-&gt; Server-&gt; Runtime。请记住将其Java主目录更改为Sun JDK而不是JRocket for development模式。
  • 在服务器中添加本地服务器 - >添加服务器
  • 项目上下文菜单 - &gt; properties-&gt; Project Facet-&gt;添加刻面的性质
  • 确保Jave Facet是版本1.6
  • 检查动态Web应用程序版本2.5并使目标运行时成为第一步中声明的运行时服务器+在进一步配置中,为“上下文根”提供上面提到的值“myappcontextroot”,并为“Content directory”提供值“ SRC \主\ web应用”。不要生成web.xml,否则会覆盖web.xml
  • 按“确定”将所有上述方面更改应用于项目
  • 再次打开项目上下文菜单 - &gt; properties-&gt;部署程序集 - &gt;添加java构建路径 - &gt; Maven依赖项
  • 最后,在服务器窗口中将已配置的应用程序添加到正在运行的服务器

请按字面意思执行这些步骤,这非常值得!