Maven2:Cargo 插件热部署 & Jonas 支持
Posted
技术标签:
【中文标题】Maven2:Cargo 插件热部署 & Jonas 支持【英文标题】:Maven2: Cargo plugin hot deployment & Jonas support 【发布时间】:2010-11-26 12:49:52 【问题描述】:我正在尝试让 Cargo 插件在我的 maven 项目上运行,以便从针对 Jonas 服务器的战争热部署中受益。
官方文档并不清楚支持什么和不支持什么(例如你可以找到这个:http://cargo.codehaus.org/Hot+Deployment,也可以找到这个http://cargo.codehaus.org/JOnAS+4.x)。
无论如何,我的战争 POM 有以下配置:
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>1.0</version>
<configuration>
<container>
<containerId>jonas4x</containerId>
<home>C:\JOnAS-4.8.4\nt\bin</home>
</container>
<configuration>
<type>existing</type>
<home>C:\JOnAS-4.8.4</home>
</configuration>
</configuration>
</plugin>
当我跑步时
mvn cargo:deploy
在我的项目中,war 被复制到 Jonas webapps 文件夹中,但没有热部署。该文件仅被复制,但未调用热部署 Jonas 命令,因此我的修改无法立即使用。
编辑:我还尝试按照答案中的建议添加部署器配置,但行为是相同的(即:复制了战争,但未调用 Jonas 热部署命令,因此不会在 Jonas 中重新加载战争)。
我是不是遗漏了什么,还是说 Cargo Maven 插件不支持 Jonas Hot Deployement 是对的?
提前致谢!
【问题讨论】:
根据定义,没有一个软件,它更像是服务而不是好,是清楚的。软件是绝对 0 或 1 二进制,清除意味着 3,如直接数学或经典逻辑 @LarsOn:对不起,我不明白你的评论......甚至句子...... @reef:我在 jboss 而不是 Jonas 上遇到了类似的问题,你能得到一些线索吗? 【参考方案1】:deploying to a running container 上的货物页面链接到 table,列出了为该容器引入热部署的版本。根据表格,JOnAS 4.x 从版本 1.0(您正在使用)开始支持,所以它应该可以工作。
在该页面上,它还提供了一些配置插件以进行部署的指南,我试图在下面解释它们。
从您的配置中的home
元素,我假设您正在尝试进行本地部署。运行容器页面中的配置意味着在最后这一行中热部署应该是自动的:
只需输入 mvn cargo:deploy。请注意,我们没有指定一个元素,也没有指定一个。这是因为该插件足够聪明,可以为您创建默认实例。很酷,不是吗?
但是前面的配置块表明您应该配置deployer
部分以使货物插件知道要部署的战争。部署者的配置是这样的:
<deployer>
<type>local</type>
<deployables>
<deployable>
<groupId>$project.groupId</groupId>
<artifactId>$project.artifactId</artifactId>
<type>war</type>
<properties>
<context>optional root context</context>
</properties>
<pingURL>optional url to ping to know if deployable is done or not</pingURL>
<pingTimeout>optional timeout to ping (default 20000 milliseconds)</pingTimeout>
</deployable>
</deployables>
</deployer>
如果自动选项不适合您,请考虑为您的战争声明配置。
【讨论】:
感谢您的回答。我在配置中添加了部署程序部分,它没有改变任何东西。实际上问题是我的战争被复制到了好的乔纳斯目录,但似乎插件没有调用热部署乔纳斯命令(jonas admin -a my_war)。所以我复制了我的战争,但没有正确地热部署。 那个解决方案对我有帮助,很抱歉它没有解决你原来的问题。以上是关于Maven2:Cargo 插件热部署 & Jonas 支持的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Cargo maven 插件远程部署 EAR 到 JBoss 5.1.0.GA?
IntelliJ + Maven + 内Jetty 实现热部署项目
无法使用 cargo-maven-plugin 重新部署到远程 tomcat 7