当前位置: 首页 > 知识库问答 >
问题:

如何用单个ANT脚本Worklight 6.1构建和部署适配器

殳飞扬
2023-03-14

在6.1版本中,ant jar被分成两个jar:worklight-ant-builder.jar和worklight-ant-deployer.jar。我可以自己运行构建或部署任务,但我必须更改文件集。我希望运行构建适配器,并从一个ant脚本中部署适配器。

我尝试了几种方法将这两个JAR都包含在taskdef文件集中:

include name="*.jar"
<taskdef resource="com/worklight/ant/defaults.properties">
    <classpath>
      <fileset dir="${worklight.server.install.dir}/WorklightServer">
        <include name="*.jar"/> 
         <!--   <filename name="*.jar"/> -->
       <!-- <include name="worklight-ant-builder.jar"/>  -->
       <!-- <include name="worklight-ant-deployer.jar"/>  -->           
      </fileset>
    </classpath>
  </taskdef>
<?xml version="1.0" encoding="UTF-8"?>

<project name="BuildDeployAdapter" basedir="." default="help">

  <property name="worklight.server.install.dir" value="C:/IBM/Worklight61/"/>
  <property name="adapter-source-files-folder" value="C:/Worklight/workspaces/base61p/HelloWorklight/adapters/HTTPAdapter"/>
  <property name="destination-folder" value="C:/Worklight/workspaces/base61p/HelloWorklight/binANT"/>
  <property name="myAdapter.adapter" value="${destination-folder}/HTTPAdapter.adapter"/>
  <property name="http.server.port.context" value="http://mydomain:9080/worklight"/>

  <taskdef resource="com/worklight/ant/defaults.properties">
    <classpath>
      <fileset dir="${worklight.server.install.dir}/WorklightServer">
        <include name="*.jar"/>
       <!-- <filename name="*.jar"/> -->
       <!-- <include name="worklight-ant-builder.jar"/>  -->
       <!-- <include name="worklight-ant-deployer.jar"/>  -->           
      </fileset>
    </classpath>
  </taskdef>

  <target name="buildAdapter">
    <adapter-builder
        folder="${adapter-source-files-folder}"
        destinationfolder="${destination-folder}"/>
  </target>     

  <target name="deployAdapter"> 
    <adapter-deployer deployable="${myAdapter.adapter}"
                      worklightserverhost="${http.server.port.context}" 
                      userName="username" password="password" />
  </target>

</project>

现在,当我想使用掩码include时,我必须为每个任务切换included jar-include name=“.jar”或filename name=“.jar”。这似乎是对特定任务的限制,不能接受一个以上的罐子。我是不是偏离基地了?

共有1个答案

张浩阔
2023-03-14

根据您提供的信息,解决方案似乎可以创建一个单独的脚本,该脚本将按顺序调用构建和部署脚本,如下所示:

<project name="Adapter Stuff" default="do.all" basedir=".">
  <target name="do.all">
    <ant antfile="path/to/worklight-build-adapter.xml"
         target="build-target" inheritall="false"/>
    <ant antfile="path/to/worklight-deploy-adapter.xml"
         target="deploy-target" inheritall="false"/>
  </target>
</project>
 类似资料:
  • 问题内容: 我有一个简单的python脚本,它导入了我编写的其他各种模块(依此类推)。由于我的环境,我的PYTHONPATH很长。我也在使用Python 2.4。 我需要做的是以某种方式打包我的脚本和所有不属于标准python的依赖项,以便可以将单个文件通过电子邮件发送到要执行该文件的另一个系统。我知道python的目标版本是相同的,但是在Windows上的linux上。否则,我只会使用py2ex

  • 下面是netbeans生成的构建文件: jfx-impl.xml 生成-IMPL

  • Ant 任务是 Gradle 的一等公民. Gradle 通过 Groovy 出色的集成了 Ant 任务. Groovy 自带了一个 AntBuilder. 相比于从一个 build.xml 文件中使用 Ant 任务, 在 Gradle 里使用 Ant 任务更为方便和强大. 从下面的例子中, 你可以学习如何执行 Ant 任务以及如何访问 ant 属性: 例子 6.13. 使用 AntBuilder

  • 使用自动化脚本,一个命令来上一节中的所有操作。 自动化创建和更新 gh-pages 所以,我们采用一个 npm 包,来帮助我们完成上面的操作 cd my-note/ npm i gh-pages 然后创建 my-note/scripts/deploy-gh-pages.js 里面的内容是: 'use strict'; var ghpages = require('gh-pages'); ma

  • 没有任何好的插件来使用Maven构建本机代码。native-maven-plugin是一个非常严格的构建系统,除其他外,这使得调试结果的二进制文件变得困难。您必须手动将本机Maven-Plugin构建系统与用于调试的本机IDE同步。 Maven没有替换部署的pom.xml文件中的变量:MNG-2971、MNG-4223。这意味着库必须在每个Maven配置文件中声明一次特定于平台的依赖关系(而不是声

  • 问题内容: 问题 我刚刚安装了Sonar Jenkins插件。我进入了配置的作业(自由样式作业),该作业通过ANT构建生成WAR文件工件,并且执行以下操作: 选中声纳复选框。(这里没有问题) 配置声纳的安装目录(这里没有问题) 选中以下复选框: “检查该项目是否不是用maven 2构建的” (我在这里感到困惑) 我已经选中了该框,因为我没有使用Maven进行构建,而是使用ANT,但它仍要求我提供类