我试图让货物插件在我的maven项目上工作,以便从战争、热部署和Jonas服务器中受益。
官方文档并不清楚什么是支持的,什么是不支持的(例如,您可以找到以下内容:http://cargo.codehaus.org/Hot+Deployment,但也可以找到这个http://cargo.codehaus.org/JOnAS+4.x)。
不管怎么说,我的战俘营有以下几点建议:
<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文件夹,但是没有热部署。文件仅被复制,但未调用hot命令,因此无法立即进行修改。
编辑:我还尝试按照答案中的建议添加部署程序配置,但行为是相同的(即复制war,但没有调用Jonas hot命令,这样war就不会在Jonas中重新加载)。
我是遗漏了什么,还是我说错了货Maven插件不支持?
提前感谢!
发布于 2009-09-13 13:09:58
部署到正在运行的容器上的cargo页面链接到一个表格,其中列出了为该容器引入热部署的版本。根据该表,1.0版(您正在使用的版本)支持JOnAS 4.x,因此它应该可以工作。
在该页面上,它还提供了一些为部署配置插件的指导原则,我试图在下面对它们进行解释。
从配置中的home元素中,我假设您正在尝试本地部署。正在运行的容器页中的配置意味着,在最后一行中,热部署应该是自动的:
只需输入mvn货物:部署。注意,我们没有指定一个元素,也没有指定一个元素。这是因为插件足够聪明,可以为您创建默认实例。很酷,不是吗?
但是,前面的配置块指示您应该配置deployer部分,以使cargo插件了解要部署的war。部署程序的配置如下所示:
<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>如果自动选项对您无效,请考虑为war声明配置。
https://stackoverflow.com/questions/1394389
复制相似问题