Worklight WAR ant配置包含Java文件

时间:2015-05-25 20:00:08

标签: ant ibm-mobilefirst

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

当我通过eclipse进行war文件的构建时,我遵循以下步骤:

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

2-右键单击项目名称> IBM移动应用平台模式>构建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>但是没有用。

我提到了以下网址:https://ant.apache.org/manual/Tasks/javac.html。但不知道使用哪一个。

任何帮助谢谢。

2 个答案:

答案 0 :(得分:2)

<强> XML

try{
           newwindow = window.open("", "ScriptGen", "menubar=0,directories=0,toolbar=no,location=no,resizable=yes,scrollbars=yes,width=450,height=250,titlebar=0");
            console.log(newwindow.document);
        }
        catch (error) {
            console.log("Error catched");
            newwindow.close();
            useDomain = true;
            var domain = document.domain;
            newwindow = window.open("javascript:document.write('<script>document.domain=\"" + document.domain + "\"</script>')", "ScriptGen", "menubar=0,directories=0,toolbar=no,location=no,resizable=yes,scrollbars=yes,width=450,height=250,titlebar=0");
    }

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

注意:

<?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> dirlocation的位置,将内容目录替换为您的位置。

答案 1 :(得分:0)

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

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

有关详细说明,请参阅我的回答:https://stackoverflow.com/a/30302415/1530814