基于 z/Linux 构建的 Worklight 6.1.0.1 ant - 编码问题?漏洞?

Posted

技术标签:

【中文标题】基于 z/Linux 构建的 Worklight 6.1.0.1 ant - 编码问题?漏洞?【英文标题】:Worklight 6.1.0.1 ant build on z/Linux - encoding issue? bug? 【发布时间】:2014-07-10 17:20:06 【问题描述】:

我有一个 jazz 构建服务器,用于使用提供的 ant 脚本构建我的应用程序。该构建在我们的 AIX 构建服务器上运行良好。但是,我迁移到另一台运行 z/Linux 的服务器,应用程序将无法加载。

我比较了两个 wlapp 文件,它们之间只有一个区别。

在 AIX(工作)上,以下代码出现在 index.html 中:

    <script>
    // Define WL namespace.
    var WL = WL ? WL : ;
    /**
     * WLClient configuration variables.
     * Values are injected by the deployer that packs the gadget.
     */

在 z/Linux 上(不工作),index.html 中出现以下代码

    <script>&#13;
    // Define WL namespace.&#13;
    var WL = WL ? WL : ;&#13;
    &#13;
    /**&#13;
     * WLClient configuration variables.&#13;
     * Values are injected by the deployer that packs the gadget.&#13;
     */&#13;

这部分代码是由 worklight ant 任务注入的。这不是我们的代码。

有什么建议吗?

【问题讨论】:

仅供参考。这不是我们的代码,它是由 worklight 注入的 机器和 Worklight 安装有什么区别?它看起来像一个编码问题,但是如果它在第一台机器上工作,那为什么是一个错误呢?第二台机器与第一台机器有何不同? 唯一的区别是操作系统。其他一切都是一样的。这部分代码是由 worklight 注入的——这就是我怀疑 worklight 错误的原因。 尝试通过eclipse的设置将你的eclipse工作区的编码设置为utf-8;然后导入您的 Worklight 项目并构建它。查看生成的 HTML 文件是否仍然显示编码问题。 在 Windows 或 AIX 上使用 ant 任务构建时没有问题,只有在此 z/Linux 机器上使用 ant 任务构建时,它才会使用转义字符 (ascii回车)。 Eclipse 不在构建机器上运行,仅包含 worklight ant 任务。 【参考方案1】:

再试一次:

wslnx029:/home/wl # cat build.xml
<project basedir="." name="build-tools" default="build-application">

    <taskdef resource="com/worklight/ant/defaults.properties">
        <classpath>
            <pathelement location="/home/wl/worklight-ant-builder-6.1.0.jar" />
        </classpath>
    </taskdef>

    <target name="build-application">
        <app-builder applicationfolder="/home/wl/proj6101/apps/app6101" 
                 worklightserverhost="http://localhost:9080/worklight" 
                 outputfolder="/home/wl/proj6101/bin"/>
    </target>


</project>

wslnx029:/home/wl # ./apache-ant-1.7.1/bin/ant -verbose
Apache Ant version 1.7.1 compiled on June 27 2008
Buildfile: build.xml
Detected Java version: 1.6 in: /home/wl/ibm-java-s390x-60/jre
Detected OS: Linux
parsing buildfile /home/wl/build.xml with URI = file:/home/wl/build.xml
Project base dir set to: /home/wl
[antlib:org.apache.tools.ant] Could not load definitions from resource org/apache/tools/ant/antlib.xml. It could not be found.
Build sequence for target(s) `build-application' is [build-application]
Complete build sequence is [build-application, ]

build-application:
     [echo] Worklight Ant Task version 6.1.0.01.20140801-1626
[app-builder] Aug 4, 2014 9:43:19 AM com.worklight.builder.sourcemanager.handlers.android.AndroidManifestSourceHandler checkBuildTarget
[app-builder] WARNING: FWLST1119W: Android build will fail because the API level used to compile the project is not supported by the Worklight Studio.
[app-builder] It is recommended to use Android API level 18 which is the latest API level supported by the Worklight Studio. Use the Android SDK Manager to install API level 18, configure your project to build with API level 18 by updating the Project Build Target in Project / Properties / Android dialog.
[app-builder] Aug 4, 2014 9:43:19 AM com.worklight.ant.builders.ApplicationBuilderTask execute
[app-builder] SUCCESS: FWLST2001I: Successfully built environments: [android, common]

BUILD SUCCESSFUL
Total time: 1 second

这是生成的 HTML 部分:

       <script>
        // Define WL namespace.
        var WL = WL ? WL : ;
        /**
         * WLClient configuration variables.
         * Values are injected by the deployer that packs the gadget.
         */
        WL.StaticAppProps = 
   "APP_DISPLAY_NAME": "app6101",
   "APP_ID": "app6101",
   "APP_SERVICES_URL": "\/apps\/services\/",
   "APP_VERSION": "1.0",
   "ENVIRONMENT": "android",
   "LOGIN_DISPLAY_TYPE": "embedded",
   "WORKLIGHT_NATIVE_VERSION": "3180588129",
   "WORKLIGHT_PLATFORM_VERSION": "6.1.0.01.20140716-1751",
   "WORKLIGHT_ROOT_URL": "\/apps\/services\/api\/app6101\/android\/"
;</script>

【讨论】:

这个测试是在 z/Linux 上完成的吗?因为这似乎是一个编码问题。另外,这个测试不是用同级别的ant任务做的。 嗨@user3512345。我可以给您发送一个更新的 ant-builder,您将检查它是否解决了问题? @user3512345,等待您的来信。

以上是关于基于 z/Linux 构建的 Worklight 6.1.0.1 ant - 编码问题?漏洞?的主要内容,如果未能解决你的问题,请参考以下文章

Worklight 构建将非法字符插入到 Javascript 文件中

IBM Worklight 6.0 - 在以下期间发生内部错误:Worklight 应用程序构建器

IBM Worklight 6.0 - 构建应用程序时的环境选项?

Worklight - FWLST1040E:android 构建失败:java.io.FileNotFoundException

IBM Worklight 6.1 - 构建和部署不可用?

当我们执行 Mobilefirst 构建时,从哪里复制 wlapp 文件中的 worklight 文件夹?