前段时间研究flex工程自动编译的时候,遇到了阻碍,就放下了,直到今天每日构建的问题又一次给项目组带来了麻烦,于是我彻底愤怒了。

最后,我的怒火没有白费,写出来以发泄情绪。

【基本原理】:

adobe提供了每日构建的方法:利用ant任务以命令行的形式完全模仿flashbuilder/flashbuilder-plugin的【导出发行版】编译方式来编译。

此种方式编译出的swf的性能是最好的。

官方说明:http://help.adobe.com/zh_CN/Flex/4.0/UsingFlashBuilder/WSbde04e3d3e6474c4-59108b2e1215eb9d5e4-8000.html

【实施前准备】:

安装:jdk1.6 32位 (一定要用32位的,如果是64位的操作系统也要安装32的,64和32的jdk可以共存)

安装:flashbuilder/flashbuilder-plugin

【实施】:

1.用flashbuilder/flashbuilder-plugin将flex项目导入,配置好,并可以手动编译成功;

对于使用flashbuilder-plugin的一定要注意这一步,不要使用本地的eclipse来导入项目,要使用plugin来导入配置项目,否则无法进行命令行

编译。

因为用flashbuilder-plugin创建的工作空间下的E:\Jenkins\workspace\.metadata文件夹下,有一些命令行工具要用的东西,例如:flex工程名。

2.写ant的build.xml,build.xml的位置随意放

<?xml version="1.0"?>
<project default="main">
<target name="main">
<fb.exportReleaseBuild project="ims-flex-1.0" />
</target>
</project>

其中target标签中的name="main"就是ant的执行任务名称,project=“ims-flex-1.0”就是指定要编译的flex工程名称

3.编写调用的命令行

set WORKSPACE=E:\Jenkins\workspace

REM works with either FlashBuilderC.exe or eclipsec.exe
"D:\Adobe\Adobe Flash Builder 4 Plug-in\eclipse-host-distro\eclipsec.exe" --launcher.suppressErrors -noSplash -application org.eclipse.ant.core.antRunner -data "%WORKSPACE%" -file "%WORKSPACE%\build.xml" main
pause

上面命令是调用plugin中的eclipsec.exe来编译的。如果使用的是flahbuilder则使用flashbuilderc.exe

  • WORKSPACE就是eclipse的工作空间
  • -file用来指定build.xml的位置
  • 最后一个参数main就是指定在build.xml中要执行的任务名称

4.运行批处理,开始自动编译,编译后,进入flex工程目录,其中会有bin-release目录,这里就是编译后的文件。

【吐槽】

adobe的文档写的如此之烂,文字说明根本没用,只能通过揣测批处理的意义,经过多次尝试失败后才最终解决。

使用Flashbuilder/Flashbuilder-plugins搭建Flex工程每日构建(自动化构建)的方法的更多相关文章

  1. 边缘化搭建 DotNet Core 2.1 自动化构建和部署环境(下)

    写在前面 本篇文章是上一篇边缘化搭建 DotNet Core 2.1 自动化发布和部署(上)的后续操作,本文主要讲解如何开启Docker Remote API,开启Remote API后的权限安全问题 ...

  2. 边缘化搭建 DotNet Core 2.1 自动化构建和部署环境(上)

    写在前面 写这篇文章的缘由是由于笔者的对新兴技术方向有所追求,但个人资产有限,只能容许购买一台阿里云低配1核2G服务器.服务器上搭建了 Centos7 & Docker & Jenki ...

  3. kotlin+springboot+mybatis-puls+mysql搭建gradle-web工程

    kotlin+springboot+mybatis-puls+mysql搭建web工程 ​ 前段时间研究了spring security及OAuth2系列之后,本来打算研究spring的,但是部门发生 ...

  4. 搭建Android工程的步骤及其第一个安卓程序

    1.安卓系统架构 1>底层是Linux系统 2>函数库层 由C或C++写的 3>Application frameWork应用的框架层 4>顶层是应用层 2.JVM与DVM介绍 ...

  5. 搭建Maven工程的时候,做单元测试,报ClassNotFoundException

    搭建Maven工程的时候报错 问题原因是在spring.xml中配置的  classpath:config.properties  没有在工程中创建.

  6. 阶段5 3.微服务项目【学成在线】_day17 用户认证 Zuul_14-网关-介绍网关及搭建网关工程

    4 Zuul网关 4.1 需求分析 网关的作用相当于一个过虑器.拦截器,它可以拦截多个系统的请求. 本章节要使用网关校验用户的身份是否合法. 4.2 Zuul介绍 什么是Zuul? Spring Cl ...

  7. vue实战_从头开始搭建vue工程

    写在前面:vue工程入口文件分析 /index.html,/src/main.js,/src/APP.vue /index.html文件示例: <!DOCTYPE html> <ht ...

  8. 我是如何进行Spring MVC文档翻译项目的环境搭建、项目管理及自动化构建工作的

    感兴趣的同学可以关注这个翻译项目 . 我的博客原文 和 我的Github 前段时间翻译的Spring MVC官方文档完成了第一稿,相关的文章和仓库可以点击以下链接.这篇文章,主要是总结一下这个翻译项目 ...

  9. 使用Docker搭建Jenkins+Docker持续集成环境(自动化构建发布部署)

    本文介绍如何通过Jenkins的docker镜像从零开始构建一个基于docker镜像的持续集成环境,包含自动化构建.发布到仓库\并部署上线. 0. 前置条件 服务器安装docker,并启动docker ...

随机推荐

  1. Date、String、Calendar类型之间的转化

    原文出处:http://fjfj910.iteye.com/blog/1202219 1.Calendar 转化 String  //获取当前时间的具体情况,如年,月,日,week,date,分,秒等 ...

  2. C#基础(四)——ref与out的区别

    1.ref传进去的参数必须进行初始化,out不必int i;SomeMethod( ref i );//语法错误SomeMethod( out i );//通过 2.ref传进去的参数在函数内部可以直 ...

  3. 之前可运行mongodb,后来却不行了显示Unclean shutdown detected mongodb

    解决办法有三个: 第一个:如果你之前可以运行,说明你已经有数据存放目录了,你可以把数据存放目录之前的数据清空再启动,在配置一下 第二个:使用mongod --repair --dbpath D:\Mo ...

  4. #Leet Code# Permutation

    描述: 输出全排列 代码: class Solution: # @param num, a list of integer # @return a list of lists of integers ...

  5. Python Mixin混入的使用方法

    DEMO # encoding=utf-8 __author__ = 'kevinlu1010@qq.com' class Base(): def f1(self): print 'I am f1 i ...

  6. Makefile 多目录自动编译

    适用于多目录结构 C 工程自动编译. makefile 分成三类: 1. 工程根目录 makefile  : 这个makefile执行分成两个阶段 a)递归进入每个子目录, 逐个执行子目录里面的 ma ...

  7. 【java】Servlet 工程 web.xml 中的 servlet 和 servlet-mapping 标签

    摘录某个工程的 web.xml 文件片段: 访问顺序为1—>2—>3—>4,其中2和3的值必须相同. url-pattern 标签中的值是要在浏览器地址栏中输入的 url,可以自己命 ...

  8. 学无止境,学习AJAX,跨域(三)

    学习AJAX其实有个很重要的应用,就是为了执行另外几个站点的ASP,返回结果. 真正用起来,发现2个问题,>_> 不许笑,一向做DELPHI,接触ASP不多的我,的确问题大堆. 第一个问题 ...

  9. Jquery.Validate验证CheckBoxList,RadioButtonList,DropDownList是否选中

    http://blog.csdn.net/fox123871/article/details/8108030 <script type="text/javascript"&g ...

  10. HDU4525+公式

    一开始TLE了... /* 模拟 */ #include<stdio.h> #include<math.h> ; typedef __int64 int64; int64 a[ ...