有没有办法使用命令行而不是使用工作灯控制台来部署工作灯适配器?(因为我的 worklight 服务器安装在 WAS 上,所以需要一个 wsadmin 命令或类似的东西......)。
2 回答
您可以使用文档中描述的 ANT 任务。请注意,Ant 任务随企业版和消费者版一起提供。不是免费的开发者版。
部署适配器
用于部署适配器的 Ant 任务具有以下结构:
<?xml version="1.0" encoding="UTF-8"?>
<project base="." default="target-name">
<target name="target-name">
<taskdef resource="com/worklight/ant/defaults.properties">
<classpath>
<pathelement location="path_to_worklight-ant-platform.version>.jar" />
</classpath>
</taskdef>
<adapter-deployer worklightserverhost="http://server-address:port" deployable="myAdapter.adapter" />
</target>
</project>
该元素具有以下属性:
worklightserverhost 属性指定Worklight 服务器的完整URL。
deployable 属性指定要部署的 .adapter 文件。如果您必须部署多个 .adapter 文件,请为每个文件添加一个元素。
如果您不想安装 Ant 或复制额外的 Worklight 构建工具 jar,请使用 unix curl 实用程序:
有时使用 cURL 会在部署中导致 java.lang.StringIndexOutOfBoundsException,但这是由于表单上传错误。正确的格式在这里:假设二进制文件位于 /tmp/workspace6.3/proj1/bin/ 并且 Worklight 管理员用户名和密码是“admin”(在本地 Worklight 服务器上)使用我们可以部署的 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
这里唯一的问题是这些 POST URL 与 Worklight v6.3-v7 兼容,并且它们可能会在未来的主要版本中发生变化,因此请阅读发布管理员 REST API 的文档以获取正确的 URL。