我已经构建了一些 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 。
所以我的问题是:如何在不删除第一个同名应用程序的情况下使用部署目标同时部署同一个应用程序?
谢谢
奥利维尔