1

我正在尝试使用 Ant 任务对工作灯适配器进行简单的构建和部署。

这是任务:

<?xml version="1.0" encoding="UTF-8"?>  
<project name="Project" default="buildAndDeployAdapters" basedir=".">  
    <taskdef resource="com/worklight/ant/defaults.properties">  
        <classpath>
            <pathelement location="C:\Users\IBM_ADMIN\DownloadDirector\CIN0VEN\worklight-ant.jar"/>  
        </classpath>  
    </taskdef>  

    <target name="buildAndDeployAdapters">
        <adapter-builder folder="adapters\ProjectAdapter" destinationfolder="bin"/>
        <adapter-deployer worklightserverhost="http://localhost:10080" deployable="bin\ProjectAdapter.adapter" />
    </target>
</project>

构建成功,但是当部署发生时,我收到错误消息:

build.xml:11: java.lang.StringIndexOutOfBoundsException: String index out of range: -1

如果我在浏览器上访问 http://localhost:10080,我成功地访问了 Web Sphere 页面。我已经验证 ProjectAdapter.adapter 的路径也是正确的。我尝试以相同的方式部署我的应用程序,但它也得到了同样的错误。通过右键单击适配器或应用程序并部署,我可以很好地部署在 Eclipse 中。

我正在使用 worklight Eclipse 插件,版本 6.0.0.20130701-1413。为了完成这些构建任务,我最近从 worklight 免费开发者版升级到了企业版。可能是什么问题呢?也许我没有正确升级?我的目标是在构建和部署之前运行一些其他任务,但首先我需要让构建和部署工作。

谢谢!

4

2 回答 2

1

正如 tik27 所提到的,在 Worklight 6.0 中,worklightserverhost路径中现在还有一个默认上下文根。

默认情况下,上下文根是项目名称。例如:

<adapter-deployer worklightserverhost="http://localhost:10080/mytestproject" deployable="bin\ProjectAdapter.adapter" />

文档尚未说明这一点,但已在内部修复并等待重新发布。

另见:

于 2013-07-30T04:18:23.223 回答
0

部署中 java.lang.StringIndexOutOfBoundsException 的另一个常见原因是错误的表单上传。正确的格式如下:假设二进制文件位于 /tmp/workspace6.3/proj1/bin/ 使用我们可以部署的 curl unix 实用程序

适配器:

curl -v -X POST -H "Content-Type: multipart/form-data" -F "file=@/tmp/workspace6.3/proj1/bin/sampleAdapter.adapter" --user admin:admin -H "Accept: application/json" http://localhost:10080/worklightadmin/management-apis/1.0/runtimes/proj1/adapters

呜呜呜:

curl -v -X POST -H "Content-Type: multipart/form-data" -F "file=@/tmp/workspace6.3/proj1/bin/app1-all.wlapp" --user admin:admin -H "Accept: application/json" http://localhost:10080/worklightadmin/management-apis/1.0/runtimes/proj1/applications?locale

于 2016-11-12T08:14:33.343 回答