Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven-动态pom文件?_Maven_Websphere_Websphere 7 - Fatal编程技术网

Maven-动态pom文件?

Maven-动态pom文件?,maven,websphere,websphere-7,Maven,Websphere,Websphere 7,我正在使用Maven插件部署到websphere。安装应用程序时,如果我正在安装新应用程序,则名为false,如果我正在更新现有应用程序,则名为true。如果我刚安装/更新应用程序,我不喜欢手动切换此值 在我看来,我可以添加一个uninstallApp目标,在安装应用程序之前总是卸载它,但这似乎是一个相当愚蠢的方法 我注意到这个插件还有一个输出服务器上安装的所有应用程序的目标。输出如下所示: [INFO] [wsadmin] WASX7209I: Connected to process "

我正在使用Maven插件部署到websphere。安装应用程序时,如果我正在安装新应用程序,则名为
false
,如果我正在更新现有应用程序,则名为
true
。如果我刚安装/更新应用程序,我不喜欢手动切换此值

在我看来,我可以添加一个
uninstallApp
目标,在安装应用程序之前总是卸载它,但这似乎是一个相当愚蠢的方法

我注意到这个插件还有一个输出服务器上安装的所有应用程序的目标。输出如下所示:

[INFO] [wsadmin] WASX7209I: Connected to process "server1" on node 1234Node02 using SOAP connector; The type of process is: UnManagedProcess [INFO] [wsadmin] DefaultApplication [INFO] [wsadmin] IBMUTC [INFO] [wsadmin] MyApplicationEAR [INFO] [wsadmin] ivtApp [INFO] [wsadmin] query [INFO][wsadmin]WASX7209I:使用SOAP连接器连接到节点1234Node02上的进程“server1”;进程的类型是:非托管进程 [INFO][wsadmin]默认应用程序 [INFO][wsadmin]IBMUTC [INFO][wsadmin]MyApplicationEAR [INFO][wsadmin]ivtApp [信息][wsadmin]查询
Maven是否可以扫描此输出中的字符串“MyApplicationEAR”,如果找到,则将“updateExisting”设置为“true”,否则将其设置为“false”?

您需要的是能够在生命周期中更新Maven属性,然后再与
was6 Maven插件绑定。(并将此属性用作
的值)

不幸的是,maven属性是静态的,不能在运行时更改。所以乍一看这是不可能的

但是,有一个插件:您可以使用它在运行时定义新属性。属性的值可以由groovy脚本定义。现在的问题更多的是如何编写一个groovy脚本,告诉你的应用程序是否已经存在


老实说,我不知道使用它是否是个好主意。我认为每次将设置为false运行卸载目标可能是最简单的方法(因此可能是最好的,但可能我遗漏了什么?

有没有办法使
failOnError
仅适用于
uninstallApp
?我希望进程在
installApp
期间出现错误时失败。是。必须在执行标记内定义配置。有关更多详细信息,请阅读以下内容: