0

我已经在 linux 服务器和 oracle 数据库上安装了 IBM Worklight v6.0 Consumer Edition 和 WAS Liberty Profile 8.5.5。

我使用 IBM Worklight Studio v6.0 构建了一个 .war,并将其部署在我的 Liberty 应用程序目录 /worklightServer/apps 中。然后我用以下内容更改了 server.xml:

<!-- Configuration for Test app -->
<application id="TestApp" name="TestApp" location="TestProjectWL6.war" type="war">
  <classloader delegation="parentLast">
    <commonLibrary>
        <fileset dir="${shared.resource.dir}/lib" includes="worklight-jee-library.jar"/>
    </commonLibrary>
  </classloader>
</application>

由于 messages.log 中存在以下错误,因此未部署 .war 文件:

[7/5/13 14:42:47:289 CEST] 00000012 m.ibm.ws.app.manager.internal.statemachine.ResolveFileAction E CWWKZ0021E:位于 TestProjectWL6.war 位置的应用程序 TestApp 无效。

如何使 .war 有效?我关注了 IBM Worklight 和 WebSphere Information Centers 关于如何部署的信息,但它不起作用。

4

3 回答 3

1

错误标识符CWWKZ0021E表明“指定位置的存档或目录”存在问题。我会确保

  • 存在 usr/servers/worklightServer/apps/TestProjectWL6.war 文件(文件名大小写很重要),
  • 它实际上是一个文件,而不是一个目录。
  • 它的访问权限不会阻止 Liberty 服务器进程读取它。用来ls -l .../usr/servers/worklightServer/apps/TestProjectWL6.war检查它。
  • 它不会被截断(即unzip -l .../usr/servers/worklightServer/apps/TestProjectWL6.war给出其内容的合理列表)。
  • 您修改的 server.xml 实际上是 usr/servers/worklightServer/ 中的那个,而不是属于不同服务器的那个。

这一切听起来很愚蠢,但是在执行手动应用程序服务器配置时,这些事情偶尔会出错。通过 Ant 任务配置<configureApplicationServer>更可靠。

于 2013-07-05T16:43:34.887 回答
0

您是如何安装 IBM Worklight v6.0 的?
您是如何部署项目的 .war 文件的?

您是否使用了在使用 IBM Worklight Installation Manager 时复制到磁盘的所提供的 Ant 脚本?

在 IBM Worklight v6.0 中安装 Worklight Server 以及部署 .war 文件的过程与在 v5 中的过程大不相同。

确保遵循更新的文档:

我敢打赌你没有使用 Ant 脚本来部署 .war 文件;您很可能指向了 Worklight JEE .jar 文件的错误位置。您将需要更正路径。

我建议使用提供的 Ant 脚本。

于 2013-07-05T13:23:51.033 回答
0

我已经清理了我所有的环境:删除 server.xml 中的所有应用程序配置(包括使用 worklight 服务器安装安装的应用程序中心控制台),从应用程序和 dropins 目录中删除所有战争。

然后我用ant任务构建,现在没关系。

于 2013-07-08T08:59:33.123 回答