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 类。
注:
在 dir
、location
和 srcdir
的位置用您的位置替换内容目录。
我正在使用 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 类。
注:
在 dir
、location
和 srcdir
的位置用您的位置替换内容目录。