【问题标题】:Java EE war deployment or redeployment - automatically choose the appropriate actionJava EE 战争部署或重新部署 - 自动选择适当的操作
【发布时间】:2011-09-05 08:50:29
【问题描述】:

在开发过程中,无论是否已部署(即,只要部署旧版本,如果存在),都希望将您的战争部署到本地应用服务器是相当普遍的。

但是,cargo 和 glassfish maven 插件在以下情况下都会失败:

  • '重新部署',如果尚未部署战争,
  • 'deploy'(如果已部署)。

作为开发人员,我不想选择其中一个。是否有一个命令可以使部署在两个用例中都成功?

【问题讨论】:

    标签: java maven glassfish cargo


    【解决方案1】:

    cargo:redeploy 现在在 cargo 1.1.3 中可以正常工作(至少对于 glassfish)

    【讨论】:

      【解决方案2】:

      不是你问题的真正答案,但作为一种解决方法,你可以使用

      mvn cargo:undeploy cargo:deploy
      

      如果我没记错的话,如果未部署应用程序,cargo:undeploy 目标不会失败,maven 将继续使用 cargo:deploy 目标。

      【讨论】:

      • 不幸的是,我发现 cargo:undeploy 确实失败了。否则这将是一个完美的解决方法。
      • 我刚刚在一个使用 maven 3.0.3 和 cargo 1.0.6 的项目上尝试过。 Cargo 发出关于应用程序未部署的警告并继续部署它。你可以看到结果here
      • 再试一次,得到[ERROR] Failed to execute goal org.codehaus.cargo:cargo-maven2-plugin:1.1.2:undeploy (undeploy) on project [project]: Execution undeploy of goal org.codehaus.cargo:cargo-maven2-plugin:1.1.2:undeploy failed: Cannot find the module "[module]". Available modules: -> [Help 1],构建失败。
      • 对于“已安装”类型的部署程序,它有效,但不是“远程”。无论如何我都会投票,因为它可能对本地部署的情况有所帮助。
      猜你喜欢
      • 2023-03-13
      • 2015-09-30
      • 2018-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-13
      • 2011-01-24
      • 2012-04-14
      相关资源
      最近更新 更多