Maven2: Cargo插件热部署和Jonas支持

6
我正在尝试在我的Maven项目中使用Cargo插件,以便从热部署War的目标Jonas服务器中受益。
官方文档并不清楚支持什么和不支持什么(例如您可以找到这个:http://cargo.codehaus.org/Hot+Deployment,但也有这个http://cargo.codehaus.org/JOnAS+4.x)。
无论如何,我在war的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命令没有被调用,所以我的修改不能立即生效。
编辑:我也尝试根据答案建议添加部署器配置,但行为相同(即:WAR文件被复制,但Jonas热部署命令没有被调用,所以WAR文件没有在Jonas中重新加载)。
我错过了什么,还是说Cargo Maven插件不支持Jonas热部署?
提前感谢!

根据定义,更像服务而非商品的软件是不清晰的。软件是绝对的0或1二进制,清晰意味着3,就像直接数学或经典逻辑一样。 - Niklas Rosencrantz
1
@LarsOn:抱歉,我不理解你的评论...甚至这个句子... - reef
@reef:我遇到了一个类似的问题,但是是在使用 JBoss 而不是 Jonas 时,你有什么线索吗? - Deep
1个回答

1

部署到正在运行的容器页面上的货物页面链接到一个表格,列出了引入热部署的版本。根据该表格,JOnAS 4.x从版本1.0开始受支持(您正在使用),因此它应该可以工作。

在该页面上,还有一些配置插件进行部署的指南,我尝试下面进行解释。

从您的配置中的home元素,我假设您正在尝试进行本地部署。运行容器页面的配置意味着热部署应该是自动的,在此行的末尾:

只需键入mvn cargo:deploy。请注意,我们没有指定<deployer>元素或<webapp>元素。这是因为插件足够智能,可以为您创建默认实例。很酷,不是吗?

但是,较早的配置块指示您应该配置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配置。

1
谢谢你的回答。我在我的配置文件中添加了deployer部分,但什么都没有改变。实际上,问题是我的war被复制到了正确的Jonas目录,但似乎插件没有调用热部署Jonas命令(jonas admin -a my_war)。所以我的war被复制了,但没有正确地热部署。 - reef
那个解决方案对我很有帮助,很抱歉它没有解决你的原始问题。 - dpb

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接