【问题标题】:Worklight WAR ant configuration to include the Java files包含 Java 文件的 Worklight WAR ant 配置
【发布时间】:2015-05-26 13:58:29
【问题描述】:

我正在使用 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 文件。但我尝试添加&lt;Javac&gt;,但没有成功。

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

任何帮助谢谢。

【问题讨论】:

    标签: ant ibm-mobilefirst


    【解决方案1】:

    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>
    

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

    注意:

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

    【讨论】:

      【解决方案2】:

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

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

      如需进一步说明,请参阅我的回答:https://stackoverflow.com/a/30302415/1530814

      【讨论】:

      • 我现在明白了。我需要单独编译 Java 文件,结果将是我需要在我的“calssesFolder”中指向它们的路径的类。希望我理解正确。
      猜你喜欢
      • 1970-01-01
      • 2012-03-10
      • 2015-02-03
      • 1970-01-01
      • 2011-06-19
      • 1970-01-01
      • 1970-01-01
      • 2011-04-26
      • 2014-11-12
      相关资源
      最近更新 更多