5

我已经构建了一些 POM 文件来将 EAR 部署到 Glassfish V3。

它适用于第一次部署,但下一次部署,它崩溃了:

[INFO] asadmin --host localhost --port 4848 --user admin --passwordfile C:/Documents and
Settings/Olivier/Local Settings/Temp/mgfp8179073735921963426.tmp --interactive=false --echo=true --terse=true d
eploy --name sim --force=false --precompilejsp=false --verify=false --generatermistubs=false --availabilityenabled=false --asyncreplication=true --keepreposdir=false --keepfailedstubs=false --isredepl
oy=false --logreportederrors=true --upload=false "E:\\workspaces\\java\\sim_final\\ear\\target\\ear-0.0.1-SNAPSHOT.ear"
[ERROR] remote failure: Erreur lors du dÚploiementá: L'application portant le nom sim est dÚjÓ inscrite. SpÚcifiez que le redÚploiement doit Ûtre forcÚ ou redÚployez l'application. Sinon, s'il s'agit
d'un nouveau dÚploiement, choisissez un nom diffÚrent. Pour plus d'informations, consultez le fichier server.log.

总而言之,我可以部署一次,但不能部署两次。

这是因为如您所见,force 参数设置为 false (--force=false),因此应用程序已经存在使用此名称,并且不会再次部署。

可能,如果我做了一个取消部署目标,然后是一个部署目标,这将起作用,但我很确定我可以配置部署目标(在 Glassfish 上进行热部署)以将强制参数设置为 true,但我找不到方法来做到这一点。

试图这样做:

<configuration>
<force>true</force>
...
</configuration>

但生成的脚本再次包含 --force=false 。

所以我的问题是:如何在不删除第一个同名应用程序的情况下使用部署目标同时部署同一个应用程序?

谢谢

奥利维尔

4

3 回答 3

0

我在这里发布了一个解决方案使用 maven glassfish 插件和修改 asadmin.bat重新部署带有货物的远程 glassfish 失败

于 2015-01-21T02:48:01.353 回答
0

您可以尝试如下:

mvn glassfish:redeploy
于 2013-09-19T20:24:06.883 回答
0

试图这样做:

<configuration>   
  <force>true</force>
  ...
</configuration>

如果您使用的是 maven glassfish 插件的 2.2 版,这将起作用。但也有一些坏消息:

  1. 不幸的是,2.2 还没有发布,并且插件的积极开发似乎已经停止了一段时间(代码更新已经超过 3 年了)。所以我们不太可能看到 2.2 版的发布
  2. 托管快照版本的存储库似乎也没有启动,因此您甚至无法使用未发布的快照版本(除非您下载版本 2.2-SNAPSHOT 的源代码并尝试自己构建它)。

如何使用部署目标同时部署同一个应用程序而不删除同名的第一个应用程序

使用 Maven Glassfish 插件?你不能。

相反,您可能希望查看一些可以让您直接执行 asadmin 命令的东西,以便您可以手动传递--force选项:

于 2015-01-20T01:57:11.173 回答