更新应用程序服务器 ant 任务总是失败并显示"WAR file is not currently deployed"



我使用了一个非常基本的构建文件,该文件取自示例configuration-was-derby.xml:

<property name="worklight.server.install.dir" value="C:/Worklight70"/>
<property name="config.migration.tool.enable" value="true"/>
<target name="minimal-update">
<updateapplicationserver id="" contextroot="/AreaClienti">
<project warfile="C:/temp/AreaClienti.war"/>
<applicationserver>
<websphereapplicationserver installdir="C:/WebSphere85/AppServer"/" profile="AppSrv01" user="wasuser" password="xxxxx">
<server name="server1"/>
</websphereapplicationserver>
</applicationserver>
</updateapplicationserver>
</target>

最近,我在笔记本电脑安装上重现了这个问题,我相信我找到了原因:请查看以下分析并确认结果。

我最初是从WAS管理控制台手动安装war文件的,当我用上面的构建文件运行Ant最小更新时,它失败了,出现了上面提到的错误

MobileFirst项目WAR文件当前未部署在WAS中配置文件位于。。。

然后,我删除了手动安装的war文件,并使用Antinstall目标重新安装了它。此时,最小更新已成功运行。

我发现Ant安装创建到WAS配置结构中

profile_root/config/cells/cell_name/notes/node_name/servers/server1

一个新的Worklight目录,其中包含Worklight jee library.jar文件和带有derby驱动程序jar的derby subdir

显然,最小更新Ant任务对Worklight目录的存在进行了初步检查,如果该目录丢失,则会失败。你能确认一下这是真的吗?

当然,Worklight目录不是由标准WAS安装过程创建的。因此,在控制台安装运行时战争之后,Ant的最小更新总是失败!

如果我在WAS配置中手动添加Worklight目录,那么Ant最小更新开始运行得很好。IMHO,以这种方式更改标准WAS配置结构并不是很干净。也就是说,如果我们最初使用标准WAS管理过程安装运行时war,这是一个有效的解决方法吗?

此外,返回的错误消息本可以更清楚一点:请告诉我是否有调试选项可以使Ant任务更加详细。

最后,让我再问一个问题。

我注意到Ant执行在目录中写入日志文件

user_root/.mobilefirst_platform_server

有没有什么方法可以将这些日志重定向到不同的目录中,以避免填充用户根目录的风险?

显然,最小更新Ant任务会对Worklight目录的存在进行初步检查,如果缺失,则会失败。你能确认一下这是真的吗?

这是正确的。

有没有什么方法可以将这些日志重定向到不同的目录中,以避免填充用户根目录的风险?

不幸的是没有。

最新更新