我正在使用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。但不知道使用哪一个。
任何帮助谢谢。
答案 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>
,dir
和location
的位置,将内容目录替换为您的位置。
答案 1 :(得分:0)
与使用Studio自动编译驻留在server \文件夹下的任何Java文件时不同,使用Ant任务脚本时不会发生这种情况。
您必须首先编译这些文件并指向包含生成的.class文件的文件夹。此指向在Ant任务脚本的classesFolder
属性中完成。
有关详细说明,请参阅我的回答:https://stackoverflow.com/a/30302415/1530814