Worklight WAR ant 配置以包含 Java 文件

Worklight WAR ant configuration to include the Java files

我正在使用 WL 6.2.0.1,我们的一个项目在 WL 服务器目录中包含一个 Java 文件。

当我通过 Eclipse 为 war 文件构建时,我遵循以下步骤:

1- 右键单击​​项目名称 > 构建项目。

2- 右键单击​​项目名称 > IBM Mobile Application Platform Pattern > Build Worklight EAR 文件。

它为我生成了 war 文件,我在里面看到了 java 文件。

当我切换到使用 ANT 脚本构建 WAR 文件时,我在 war 文件中再也看不到 Java 文件了:

ANT 脚本:

<?xml version="1.0" encoding="UTF-8"?>
<project name="MobileApp" default="package" basedir="../">

<property name="WL_PATH" value="./buildscripts"/>
<property name="project.name" value="MobileApp"/>

  <taskdef resource="com/worklight/ant/defaults.properties">
    <classpath>
      <pathelement location="${WL_PATH}/worklight-ant6.2/worklight-ant-builder.jar"/>
    </classpath>
  </taskdef>
  <target name="WAR_CREATE">
    <war-builder projectfolder="${basedir}/temp/source/${project.name}"
                 destinationfolder="bin/war"
                 warfile="bin/MobileApp.war"
                 classesFolder="classes-folder"/>
  </target>
</project>

我不确定是否需要将 Java 元素添加到脚本中以便它编译 Java 文件。但我尝试添加 <Javac> 但没有成功。

我参考了以下 URL:https://ant.apache.org/manual/Tasks/javac.html。但是不知道用哪个。

任何帮助谢谢。

与使用自动编译位于 server\ 文件夹下的任何 Java 文件的 Studio 不同,使用 Ant 任务脚本时不会发生这种情况。

您必须先编译这些文件并指向包含生成的 .class 文件的文件夹。此指向是在 Ant 任务脚本的 classesFolder 属性中完成的。

有关详细说明,请参阅我的回答:

XML

<?xml version="1.0" encoding="UTF-8"?>
<project name="myProject" default="all">
  <taskdef resource="com/worklight/ant/defaults.properties">
    <classpath>
      <pathelement location="cli_install_dir/public/worklight-ant-builder.jar"/>
    </classpath>
  </taskdef>
  <path id="server-classpath">
            <fileset dir="..\jars\Resources" includes="worklight-jee-library.jar" />
            <fileset dir="..\jars\Resources\dev" includes="**/*.jar" />
  </path>
  <mkdir dir="bin\classes"/>
  <javac
      srcdir="${worklight.repositary}${proj.brcname}\server\java"
      classpathref="server-classpath"
      destdir="bin\classes"
      verbose="true"
      includeantruntime="false"
      target="1.6"
    />
  <target name="all">
    <war-builder projectfolder="."
                 destinationfolder="bin/war"
                 warfile="bin/project.war"
                 classesFolder="bin\classes"/>
  </target>
</project>

以上是 XML 用于创建 War 文件以及 java 类。

注:

dirlocationsrcdir 的位置用您的位置替换内容目录。