Microsoft Word - ant.doc

Size: px
Start display at page:

Download "Microsoft Word - ant.doc"

Transcription

1 1/32 1. Ant 介绍 什么是 ant 什么是构建 ant 的好处 ant 的兄弟 make Ant 安装 到 如图新增系统变量 测试安装 第一个 Ant 脚本 使用 ant 来达成目的, 完成一件事情的实例 然后用 ant 完成剩下的步骤 解释上边的配置文件 整合 ant...9 1, 自己重新写一个 build.xml, 这将是一个麻烦的事情 举个例子 : Ant 进阶 Ant 常用 task 使用 classpath 设置 classpath 输出信息 写法一 写法二 输出一段 xml 引入一个 xml 文件 拷贝文件 拷贝一个文件 拷贝一个文件到指定目录 拷贝一个目录到另一个目录 拷贝一个文件集合到一个目录 拷贝一个文件集合到一个目录, 同时建立备份文件 拷贝一个集合的文件到一个目录, 拷贝一个目录下的东西到另一个目录下,(includes 加入,excludes 排除 ) 拷贝一个文件 删除文件 目录 删除一个文件 删除一个目录 删除所有符合规则的文件 (.bak 文件 ) 包括子目录 删除当前目录下所有的文件和目录, 包括当前目录 删除当前目录下所有的文件和目录, 不包括当前目录 删除当前目录下所有的 svn 相关文件 删除文件目录树 剪切文件 重命名 /32

2 2/ 建立临时文件 Touch 的使用 如果文件不存在, 创建文件, 如果存在, 更改最后访问时间为当前系统时间 如果文件不存在, 创建文件, 更改最后访问时间为 06/28/2000 2:02 pm 更改目录下所有文件最后访问时间为 06/28/2000 2:02 pm Condition 的使用 替换 replace 调用 chmod checksum MD5 运算 md5 文件, 然后把值放入 foo.bar.md5 属性 md5 文件, 然后把值放入 foobarmd5 属性 Md5 目录下的所有文件, 然后建立一个.md5 文件, 把所有的 md5 值放入 Available 的使用 如果类存在, 则设置属性 Myclass.present 为 true, 如果没有就 false 如果文件存在则设置属性 jaxp.jar.presen 为 true, 否则为 false 如果目录存在, 则设置属性为 true, 否则为 false 如果 classpath 下寻找 class, 如果存在则设置属性为 true, 否则为 false 如果在 classpath 下发现文件则设置属性为 true 否则为 flase 设置 property 设置属性 name-value 读取属性文件中的属性配置 读取网络中的 property-set 读取文件中的属性配置 读取环境变量 读取属性文件中的属性, 并作为全局引用 出现一个错误 显示错误方式一 显示错误方式二 如果这个属性不存在显示错误 如果这个属性存在现实错误 如果符合条件显示错误, 这里的条件是 ( 没有设置属性 ) 建立一个目录 打 jar 包 打 Ear 包 执行程序 运行 jar 包 : 带参数执行 或者设置一下运行的 jvm 的最大内存, 来运行 编译程序 制作 Javadoc 定义一个新的 task 类库 运行 sql /32

3 3/ Filter 的使用 把所有的 替换成 替换属性文件中的内容 Length 的使用 把字符串 foo 的长度保存到属性 "length.foo" 中 把文件 bar 的长度保存到属性 " length.bar " 中 输入 Input FixCRCL 的使用 替换所有的 eol 变成 lf, 删除所有的 eof 替换 eol 成 crlf 设置 tab 的长度为 发送邮件 压缩 解压缩 解压缩 zip 文件 压缩 zip 文件 打 tar 包 解 tar 包 打 war 包 : antcall 调用 target dosomethingelse 拷贝父中的 path1, 然后再当前工程中命名为 path Ant 的使用 调用目录 sub1/sub2/ 下的 build.xml 同上, 不同的写法 同上, 不同的写法 调用指定文件中的指定 target (compile) 在 ant 中控制流程 (if else ) 实例分析 : 如何继续学习 Ant 使用 cvs 的实例 QA: 如果执行 ant 过程中出现 Outofmemory 的错误怎么办? /32

4 4/32 1. Ant 介绍 1.1. 什么是 ant ant 是构建工具 1.2. 什么是构建 概念到处可查到, 形象来说, 你要把代码从某个地方拿来, 编译, 再拷贝到某个地方去 等等操作, 当然不仅与此, 但是主要用来干这个 1.3. ant 的好处 跨平台 -- 因为 ant 是使用 java 实现的, 所以它跨平台使用简单 -- 与 ant 的兄弟 make 比起来语法清晰 -- 同样是和 make 相比功能强大 --ant 能做的事情很多, 可能你用了很久, 你仍然不知道它能有多少功能 当你自己开发一些 ant 插件的时候, 你会发现它更多的功能 1.4. ant 的兄弟 make ant 做的很多事情, 大部分是曾经有一个叫 make 的所做的, 不过对象不同,make 更多应用于 c/c++,ant 更多应用于 Java 当然这不是一定的, 但大部分人如此 下边开始一步步的带你走进 ant 的世界 4/32

5 5/32 2. Ant 安装 2.1. 到 下載 Ant, 我使用的版本是 1.70 解压缩下载文件到你的工作目录, 这里以 d:\ant_home 为例 2.2. 如图新增系统变量 新增系统变量 :ANT_HOME, 内容 :d:\ant_home\apache-ant-1.70 在 PATH 环境变量中加入 Ant 的 bin 目錄 :%ANT_HOME%\bin 如果要让 Ant 能支持 JUnit, 需要直接將 JUnit 的 junit.jar 放置在 Ant 的 lib 目錄, 并记得改变 CLASSPATH 中原先有关于 JUnit 的设定, 例如 :%ANT_HOME\lib\junit.jar, 虽然也有其它的方式可以設定, 但這是最快最簡單的方法 如果是 Windows 2000/XP, 请在 [ 系统内容 / 高级 / 环境变量 ] 中设置 [ 系统变量 ], 以完成以上的设定, 例如 : 5/32

6 6/ 测试安装 CMD 进入命令行界面, 运行 Ant 出现如下提示, 说明安装成功 E:\srcgen\webwork>ant Buildfile: build.xml does not exist! Build failed 3. 第一个 Ant 脚本 3.1. 使用 ant 来达成目的, 完成一件事情的实例 目的 : 编写一个程序 编译它们 把它打包成 jar 包 把他们放在应该放置的地方 运行它们我们用文本编辑器编写一个 HelloWorld 如下这里为了简单起见只写一个程序, 就是 HelloWorld.java 程序代码如下 : package test.ant; public class HelloWorld{ public static void main(string[] args){ System.out.println("Hello world1"); } }; 3.2. 然后用 ant 完成剩下的步骤 建立一个 build.xml 文件, 内容如下 <?xml version="1.0" encoding="utf-8"?> <project name="helloworld" default="run" basedir="."> <property name="src" value="src"/> <property name="dest" value="classes"/> <property name="hello_jar" value="hello1.jar"/> <target name="init"> <mkdir dir="${dest}"/> <target name="compile" depends="init"> <javac srcdir="${src}" destdir="${dest}"/> 6/32

7 7/32 <target name="build" depends="compile"> <jar jarfile="${hello_jar}" basedir="${dest}"/> <target name="run" depends="build"> <java classname="test.ant.helloworld" classpath="${hello_jar}"/> <target name="clean"> <delete dir="${dest}" /> <delete file="${hello_jar}" /> <target name="rerun" depends="clean,run"> <ant target="clean" /> <ant target="run" /> </project> 3.3. 解释上边的配置文件 <?xml version="1.0" encoding="utf-8"?> build.xml 中的第一句话, 没有实际的意义, 指定一下 encoding, 几乎所有的 xml 的第一行 <project name="helloworld" default="run" basedir="."> </project> ant 的所有内容必须包含在这个里边,name 是你给它取的名字,basedir 故名思意就是工作的根目录. 代表当前目录 default 代表默认要做的事情 <property name="src" value="src"/> 类似程序中的变量, 为什么这么做想一下变量的作用 <target name="compile" depends="init"> <javac srcdir="${src}" destdir="${dest}"/> 把你想做的每一件事情写成一个 target, 它有一个名字,depends 是它所依赖的 target, 在执行这个 target 例如这里的 compile 之前 ant 会先检查 init 是否曾经被执行过, 如果执行过则直接直接执行 compile, 如果没有则会先执行它依赖的 target 例如这里的 init, 然后在执行这个 target 如我们的计划编译 : <target name="compile" depends="init"> <javac srcdir="${src}" destdir="${dest}"/> 7/32

8 8/32 做 jar 包 : <target name="build" depends="compile"> <jar jarfile="${hello_jar}" basedir="${dest}"/> 运行 : <target name="run" depends="build"> <java classname="test.ant.helloworld" classpath="${hello_jar}"/> 为了不用拷贝, 我们可以在最开始定义好目标文件夹, 这样 ant 直接把结果就放在目标文件夹中了新建文件夹 : <target name="init"> <mkdir dir="${dest}"/> 为了更多一点的功能体现, 又加入了两个 target 删除生成的文件 <target name="clean"> <delete dir="${dest}" /> <delete file="${hello_jar}" /> 再次运行, 这里显示了如何在一个 target 里边调用其他的 target <target name="rerun" depends="clean,run"> <ant target="clean" /> <ant target="run" /> 好了, 解释完成了, 下边检验一下你的 ant 吧新建一个 src 的文件夹, 然后把 HelloWorld.java 按照包目录放进去做好 build.xml 文件在命令行下键入 ant, 你会发现一个个任务都完成了 每次更改完代码只需要再次键入 ant 有的时候我们可能并不想运行程序, 只想执行这些步骤中的某一两个步骤, 例如我只想重新部署而不想运行, 键入 ant build ant 中的每一个任务都可以这样调用 ant + target name 好了, 这样一个简单的 ant 任务完成了 8/32

9 9/32 4. 整合 ant 进一步学习一个稍微复杂一点点的 ant 在实际的工作过程中可能会出现以下一些情况, 一个项目分成很多个模块, 每个小组或者部门负责一个模块, 为了测试, 他们自己写了一个 build.xml, 而你负责把这些模块组合到一起使用, 写一个 build.xml 这个时候你有两种选择 : 1, 自己重新写一个 build.xml, 这将是一个麻烦的事情 2, 尽量利用他们已经写好的 build.xml, 减少自己的工作 4.1. 举个例子 : 假设你下边有三个小组, 每个小组负责一个部分, 他们分别有一个 src 和一个写好的 build.xml 这个时候你拿到他们的 src, 你需要做的是建立三个文件夹 src1,src2, src3 分别把他们的 src 和 build.xml 放进去, 然后写一个 build.xml <?xml version="1.0" encoding="utf-8"?> <project name="main" default="build" basedir="."> <property name="bin" value="${basedir}\bin" /> <property name="src1" value="${basedir}\src1" /> <property name="src2" value="${basedir}\src2" /> <property name="src3" value="${basedir}\src3" /> <target name="init"> <mkdir dir="${bin}" /> <target name="run"> <ant dir="${src1}" target="run" /> <ant dir="${src2}" target="run" /> <ant dir="${src3}" target="run" /> <target name="clean"> <ant dir="${src1}" target="clean" /> <ant dir="${src2}" target="clean" /> <ant dir="${src3}" target="clean" /> 9/32

10 10/32 <target name="build" depends="init,call"> <copy todir="${bin}"> <fileset dir="${src1}"> <include name="*.jar" /> <fileset dir="${src2}"> <include name="*.jar" /> <fileset dir="${src3}"> <include name="*.jar" /> </copy> <target name="rebuild" depends="build,clean"> <ant target="clean" /> <ant target="build" /> </project> ok 你的任务完成了 10/32

11 11/32 5. Ant 进阶 上边你完成了任务, 但是你是否有些感触呢, 在那些 build.xml 中, 大多数是重复的, 而且更改一次目录需要更改不少东西 是否能让工作做的更好一点呢, 答案是肯定的 引入两个东西 : 1,propery 2,xml include 这两个东西都有一个功能, 就是能把 build.xml 中 <propery /> 中的内容分离出来, 共同使用 除此之外它们各有特点 : propery 的特点是维护简单, 只需要简单的键值对, 因为并不是所有人都喜欢 xml 的格式 xml include 的特点是不单可以提取出属性来, 连 target 也可以 还是以前的例子 : 例如我们想把 src1 src2 src3 这三个属性从 xml 中提出来, 可以新建一个文件叫 all.properties 里边的内容 src1=d:\\study\\ant\\src1 src2=d:\\study\\ant\\src2 src3=d:\\study\\ant\\src3 然后你的 build.xml 文件可以这样写, 别人只需要更改配置文件, 而不许要更改你的 build.xml 文件了 <?xml version="1.0" encoding="utf-8"?> <project name="main" default="build" basedir="."> <property file="all.properties" /> <property name="bin" value="${basedir}\bin" /> <target name="init"> <mkdir dir="${bin}" /> <target name="run"> <ant dir="${src1}" target="run" /> <ant dir="${src2}" target="run" /> <ant dir="${src3}" target="run" /> <target name="clean"> <ant dir="${src1}" target="clean" /> <ant dir="${src2}" target="clean" /> <ant dir="${src3}" target="clean" /> 11/32

12 12/32 <target name="build" depends="init,call"> <copy todir="${bin}"> <fileset dir="${src1}"> <include name="*.jar" /> <fileset dir="${src2}"> <include name="*.jar" /> <fileset dir="${src3}"> <include name="*.jar" /> </copy> <target name="rebuild" depends="build,clean"> <ant target="clean" /> <ant target="build" /> <target name="test"> <ant dir="${src1}" target="test" /> <ant dir="${src2}" target="test" /> <ant dir="${src3}" target="test" /> </project> 如果你自己看的话你会看到这样一个 target <target name="test"> <ant dir="${src1}" target="test" /> <ant dir="${src2}" target="test" /> <ant dir="${src3}" target="test" /> 有的时候你想给每个小组的 build.xml 加入几个 target, 一种做法是每个里边写, 然后在这里调用但是有一种更好的方法 你可以写一个 include.xml 文件, 内容如下 <?xml version="1.0" encoding="utf-8"?> <property name="src" value="src"/> <property name="dest" value="classes"/> <target name="test" > <ant target="run" /> 12/32

13 13/32 然后更改你三个小组的 build.xml 文件, 每个里边加入如下内容 <!--include a xml file,it can be common propery,can be also a target --> <!DOCTYPE project [ <!ENTITY share-variable SYSTEM "file:../include.xml"> ]> &share-variable; 变成如下的样子这个时候, 你只要在 include.xml 添加 propery, 添加 target, 三个 build.xml 会同时添加这些 propery 和 target 而且不会让三个组的 build.xml 变得更复杂 <?xml version="1.0" encoding="utf-8"?> <!--include a xml file,it can be common propery,can be also a target --> <!DOCTYPE project [ <!ENTITY share-variable SYSTEM "file:../include.xml"> ]> <project name="helloworld" default="run" basedir="."> <!--use the include --> &share-variable; <!--defined the property--> <!--via include <property name="src" value="src"/> <property name="dest" value="classes"/> --> <property name="hello_jar" value="hello1.jar"/> <!--define the op--> <target name="init"> <mkdir dir="${dest}"/> <target name="compile" depends="init"> <javac srcdir="${src}" destdir="${dest}"/> <target name="build" depends="compile"> <jar jarfile="${hello_jar}" basedir="${dest}"/> <target name="run" depends="build"> <java classname="test.ant.helloworld" classpath="${hello_jar}"/> <target name="clean"> <delete dir="${dest}" /> <delete file="${hello_jar}" /> 13/32

14 14/32 <target name="rerun" depends="clean,run"> <ant target="clean" /> <ant target="run" /> </project> 6. Ant 常用 task 好了, 看完上边的内容, 你应该知道怎么构建一个 ant 的骨架, 但具体做起来才才发现很多东西不知道该如何写 下边介绍一下常用的 ant task 在 ant 手册中跟这些叫 core task 这里打乱一下顺序, 不按照文档中的顺序来介绍, 而是按照需求来介绍 6.1. 使用 classpath <target> <javac> <classpath refid="project.class.path"/> </javac> 6.2. 设置 classpath <classpath id= project.class.path > <pathelement path="${classpath}"/> <fileset dir="lib"> <include name="**/*.jar"/> <pathelement location="classes"/> <dirset dir="build"> <include name="apps/**/classes"/> <exclude name="apps/**/*test*"/> </dirset> <filelist refid="third-party_jars"/> </classpath> 14/32

15 15/ 输出信息 两种写法 写法一 <echo message= xxx /> 写法二 <echo>yyyy</echo> 输出一段 xml <echoxml file="subbuild.xml"> <project default="foo"> <target name="foo"> <echo>foo</echo> </project> </echoxml> 6.4. 引入一个 xml 文件 <import file="../common-targets.xml"/> 6.5. 拷贝文件 拷贝一个文件 <copy file="myfile.txt" tofile="mycopy.txt"/> 拷贝一个文件到指定目录 <copy file="myfile.txt" todir="../some/other/dir"/> 拷贝一个目录到另一个目录 <copy todir="../new/dir"> </copy> <fileset dir="src_dir"/> 拷贝一个文件集合到一个目录 <copy todir="../dest/dir"> </copy> <fileset dir="src_dir"> <exclude name="**/*.java"/> <copy todir="../dest/dir"> </copy> <fileset dir="src_dir" excludes="**/*.java"/> 15/32

16 16/ 拷贝一个文件集合到一个目录, 同时建立备份文件 <copy todir="../backup/dir"> </copy> <fileset dir="src_dir"/> <globmapper from="*" to="*.bak"/> 拷贝一个集合的文件到一个目录, <copy todir="../backup/dir"> </copy> <fileset dir="src_dir"/> <filterset> <filter token="title" value="foo Bar"/> </filterset> 拷贝一个目录下的东西到另一个目录下,(includes 加入,excludes 排除 ) <copydir src="${src}/resources" /> dest="${dist}" includes="**/*.java" excludes="**/test.java" 拷贝一个文件 <copyfile src="test.java" dest="subdir/test.java"/> 6.6. 删除文件 目录拷贝中各种关于目录的操作都可以用在这里 删除一个文件 <delete file="/lib/ant.jar"/> 删除一个目录 <delete dir="lib"/> 删除所有符合规则的文件 (.bak 文件 ) 包括子目录 <delete> <fileset dir="." includes="**/*.bak"/> </delete> 删除当前目录下所有的文件和目录, 包括当前目录 <delete includeemptydirs="true"> <fileset dir="build"/> </delete> 删除当前目录下所有的文件和目录, 不包括当前目录 <delete includeemptydirs="true"> <fileset dir="build" includes="**/*"/> </delete> 16/32

17 17/ 删除当前目录下所有的 svn 相关文件 ( 因为 svn 文件默认是 excludes 的, 所以这里要设置一下 ) <delete defaultexcludes="false"> </delete> <fileset dir="src" includes="**/.svn"/> 删除文件目录树 <deltree dir="dist"/> 6.7. 剪切文件 <move todir="some/new/dir"> <fileset dir="my/src/dir"> <include name="**/*.jar"/> <exclude name="**/ant.jar"/> </move> 6.8. 重命名 <rename src="foo.jar" dest="ant-${version}.jar"/> 6.9. 建立临时文件 在目录 build 下, 建立文件名为 temp.file, 后缀为.xml 的文件 <tempfile property="temp.file" destdir="build" suffix=".xml"/> Touch 的使用 如果文件不存在, 创建文件, 如果存在, 更改最后访问时间为当前系统时间 <touch file="myfile"/> 如果文件不存在, 创建文件, 更改最后访问时间为 06/28/2000 2:02 pm <touch file="myfile" datetime="06/28/2000 2:02 pm"/> 更改目录下所有文件最后访问时间为 06/28/2000 2:02 pm <touch datetime="09/10/1974 4:30 pm"> <fileset dir="src_dir"/> </touch> 17/32

18 18/ Condition 的使用 有 <and>,<or>,<not> 等 tag <condition property="ismacosbutnotmacosx"> <and> <os family="mac"/> <not> <os family="unix"/> </not> </and> </condition> 替换 replace <replace file="configure.sh" value="defaultvalue" propertyfile="source/name.properties"> <replacefilter <replacefilter value="value2"/> <replacefilter property="property.key"/> </replace> 调用 chmod <chmod perm="go-rwx" type="file"> <fileset dir="/web"> <include name="**/*.cgi"/> <include name="**/*.old"/> <dirset dir="/web"> <include name="**/private_*"/> </dirset> </chmod> 18/32

19 19/ checksum MD5 运算 md5 文件, 然后把值放入 foo.bar.md5 属性 <checksum file="foo.bar"/> md5 文件, 然后把值放入 foobarmd5 属性 <checksum file="foo.bar" property="foobarmd5"/> Md5 目录下的所有文件, 然后建立一个.md5 文件, 把所有的 md5 值放入 <checksum> <fileset dir="."> <include name="foo*"/> </checksum> Available 的使用 如果类存在, 则设置属性 Myclass.present 为 true, 如果没有就 false <available classname="org.whatever.myclass" property="myclass.present"/> 如果文件存在则设置属性 jaxp.jar.presen 为 true, 否则为 false <property name="jaxp.jar" value="./lib/jaxp11/jaxp.jar"/> <available file="${jaxp.jar}" property="jaxp.jar.present"/> 如果目录存在, 则设置属性为 true, 否则为 false <available file="/usr/local/lib" type="dir" property="local.lib.present"/> 如果 classpath 下寻找 class, 如果存在则设置属性为 true, 否则为 false 在工程 tag 下定义 path, 在 target 中使用...in project... <property name="jaxp.jar" value="./lib/jaxp11/jaxp.jar"/> <path id="jaxp" location="${jaxp.jar}"/>...in target... <available classname="javax.xml.transform.transformer" classpathref="jaxp" property="jaxp11.present"/> 如果在 classpath 下发现文件则设置属性为 true 否则为 flase <available property="have.extras" resource="extratasks.properties"> <classpath> <pathelement location="/usr/local/ant/extra.jar" /> </classpath> </available> 19/32

20 20/ 设置 property 设置属性 name-value <property name="foo.dist" value="dist"/> 读取属性文件中的属性配置 <property file="foo.properties"/> 读取网络中的 property-set <property url=" 读取文件中的属性配置 <property resource="foo.properties"/> 读取环境变量 <property environment="env"/> 读取属性文件中的属性, 并作为全局引用 <property file="/users/antoine/.ant-global.properties"/> 出现一个错误 显示错误方式一 <fail>something wrong here.</fail> 或者 显示错误方式二 <fail message= ${ 属性 }. /> 如果这个属性不存在显示错误 <fail unless="failcondition" message="unless Condition "/> 如果这个属性存在现实错误 <fail if=" failcondition " message="if Condition "/> 如果符合条件显示错误, 这里的条件是 ( 没有设置属性 ) <fail message="tag condition"> </fail> <condition> <not> <isset property=" failcondition "/> </not> </condition> 建立一个目录 <mkdir dir="${dist}/lib"/> 20/32

21 21/ 打 jar 包 <jar destfile="${dist}/lib/app.jar" basedir="${build}/classes"/> 或者 <jar destfile="${dist}/lib/app.jar" basedir="${build}/classes" includes="mypackage/test/**" excludes="**/test.class" /> 打 Ear 包 <ear destfile="build/myapp.ear" appxml="src/metadata/application.xml"> </ear> <fileset dir="build" includes="*.jar,*.war"/> 执行程序 <target name="help"> <exec executable="cmd"> <arg value="/c"/> <arg value="ant.bat"/> <arg value="-p"/> </exec> 运行 jar 包 : 带参数执行 <java classname="test.main"> <arg value="-h"/> <classpath> <pathelement location="dist/test.jar"/> <pathelement path="/users/antoine/dev/asf/ant-core/bootstrap/lib/ant-launcher.jar /> </classpath> </java> 21/32

22 22/ 或者设置一下运行的 jvm 的最大内存, 来运行 <java classname="test.main" dir="${exec.dir}" jar="${exec.dir}/dist/test.jar" fork="true" failonerror="true" maxmemory="128m" > <arg value="-h"/> <classpath> <pathelement location="dist/test.jar"/> <pathelement path="/users/antoine/dev/asf/ant-core/bootstrap/lib/ant-launcher.jar /> </classpath> </java> 编译程序 <javac srcdir="${src}" destdir="${build}" classpath="xyz.jar" debug="on" source="1.4" /> 制作 Javadoc <javadoc... > <doclet name="thedoclet" path="path/to/thedoclet"> <param name="-foo" value="foovalue"/> <param name="-bar" value="barvalue"/> </doclet> </javadoc> 定义一个新的 task 类库 <taskdef name="myjavadoc" classname="com.mydomain.javadoctask"/> 22/32

23 23/ 运行 sql <sql driver="org.database.jdbcdriver" url="jdbc:database-url" userid="sa" password="pass" > insert into table some_table values(1,2,3,4); truncate table some_other_table; </sql> Filter 的使用 把所有的 替换成 2000 <filter token="year" value="2000"/> <copy todir="${dest.dir}" filtering="true"> <fileset dir="src"/> </copy> 替换属性文件中的内容 <filter filtersfile="deploy_env.properties"/> Length 的使用 把字符串 foo 的长度保存到属性 "length.foo" 中 <length string="foo" property="length.foo" /> 把文件 bar 的长度保存到属性 " length.bar " 中 <length file="bar" property="length.bar" /> 输入 Input 提示消息 "Please enter db-username, 然后把用户的输入赋值给 db.user 如果没有输入则有默认值 Scott-Tiger <input message="please enter db-username:" addproperty="db.user" defaultvalue="scott-tiger" /> 23/32

24 24/ FixCRCL 的使用 替换所有的 eol 变成 lf, 删除所有的 eof <fixcrlf srcdir="${src}" includes="**/*.sh" eol="lf" eof="remove" /> 替换 eol 成 crlf 设置 tab 的长度为 4 <fixcrlf srcdir="${src}" includes="**/*.java" eol="crlf" tablength="4" /> 发送邮件 <mail mailhost="smtp.myisp.com" mailport="1025" subject="test build"> <from address="config@myisp.com"/> <replyto address="me@myisp.com"/> <to address="all@xyz.com"/> <message>the ${buildname} nightly build has completed</message> <attachments> <fileset dir="dist"> <include name="**/*.zip"/> </attachments> </mail> 压缩 解压缩 解压缩 zip 文件 <unzip src="apache-ant-bin.zip" dest="${tools.home}"> </unzip> <patternset> <include name="apache-ant/lib/ant.jar"/> </patternset> <mapper type="flatten"/> 压缩 zip 文件 <zip destfile="${dist}/manual.zip" /> basedir="htdocs/manual" includes="api/**/*.html" excludes="**/todo.html" 24/32

25 25/ 打 tar 包 <tar destfile="/users/antoine/dev/asf/ant-core/docs.tar"> <tarfileset dir="${dir.src}/docs" fullpath="/usr/doc/ant/readme" preserveleadingslashes="true"> <include name="readme.txt"/> </tarfileset> <tarfileset dir="${dir.src}/docs" prefix="/usr/doc/ant" preserveleadingslashes="true"> <include name="*.html"/> </tarfileset> </tar> 解 tar 包 <untar src="tools.tar" dest="${tools.home}"/> 打 war 包 : <war destfile="myapp.war" webxml="src/metadata/myapp.xml"> <fileset dir="src/html/myapp"/> <fileset dir="src/jsp/myapp"/> <lib dir="thirdparty/libs"> <exclude name="jdbc1.jar"/> </lib> <classes dir="build/main"/> <zipfileset dir="src/graphics/images/gifs" prefix="images"/> </war> antcall 调用 target dosomethingelse <target name="default"> <antcall target="dosomethingelse"> <param name="param1" value="value"/> </antcall> <target name="dosomethingelse"> <echo message="param1=${param1}"/> 25/32

26 26/ 拷贝父中的 path1, 然后再当前工程中命名为 path2 <antcall... > <reference refid="path1" torefid="path2"/> </antcall> Ant 的使用 调用目录 sub1/sub2/ 下的 build.xml <ant antfile="sub1/sub2/build.xml" /> 同上, 不同的写法 <ant antfile="sub2/build.xml" dir="sub1" /> 同上, 不同的写法 <ant antfile="build.xml" dir="sub1/sub2" /> 调用指定文件中的指定 target (compile) <ant antfile="subproject/subbuild.xml" target="compile"/> 26/32

27 27/32 7. 在 ant 中控制流程 (if else ) <?xml version="1.0" encoding="utf-8"?> <project basedir="." name="learn" default="run"> <property name="db.type" value="oracle" /> <import file="properties.xml" /> <taskdef resource="net/sf/antcontrib/antcontrib.properties" classpath="${ant-contrib.jar}" /> <target name="run"> <if> <equals arg1="${db.type}" arg2="mysql" /> <then> <echo message="the db is mysql" /> </then> <else> <echo message="the db is oralce" /> </else> </if> </project> 8. 实例分析 : 从开源框架中拿出一部分来分析一下 : 我接触的一些开源程序的 ant 中,appfuse 是比较复杂的,Jpetstore 是最简单的 这里拿一个最简单的出来, 然后一路注释过去 ( 想挑战一下的去看 appfuse 的 ) <project name="jpetstore" default="all" basedir="."> <! 定义属性 <property name="web" value="../web"/> <property name="src" value="../src"/> <property name="test" value="../test"/> <property name="lib" value="../lib"/> <property name="devlib" value="../devlib"/> <property name="wars" value="wars"/> <property name="warfile" value="${wars}/jpetstore.war"/> <property name="webapp" value="webapp"/> <property name="weblib" value="${webapp}/web-inf/lib/"/> <property name="webclasses" value="${webapp}/web-inf/classes/"/> <property name="reports" value="reports"/> <property name="junitreports" value="${reports}/junit/"/> <property name="coveragereports" value="${reports}/coverage/"/> 27/32

28 28/32 <property name="work" value="work"/> <property name="classes" value="${work}/classes/"/> <property name="testclasses" value="${work}/testclasses/"/> <property name="instrumentedclasses" value="${work}/instrumentedclasses/"/> <! 定义 classpath <path id="classpath"> <pathelement location="${instrumentedclasses}"/> <pathelement location="${classes}"/> <pathelement location="${testclasses}"/> <pathelement location="${src}"/> <pathelement location="${test}"/> <fileset dir="${lib}" includes="**/*.jar"/> <fileset dir="${devlib}" includes="**/*.jar"/> </path> <! 引入新的 ant task 包, 可以使用一些 ant 默认没有的 tag 和 task <taskdef name="junit" classname="org.apache.tools.ant.taskdefs.optional.junit.junittask"/> <taskdef resource="emma_ant.properties" classpathref="classpath"/> <! 定义删除文件的 target, 清除 <target name="clean"> <delete dir="${reports}"/> <delete dir="${work}"/> <delete dir="${wars}"/> <delete dir="${webapp}"/> <delete file="coverage.ec"/> <delete> <fileset dir="${src}"> <include name="**/*.class"/> </delete> <delete> <fileset dir="${test}"> <include name="**/*.class"/> </delete> 28/32

29 29/32 <! 创建所需的文件夹 <target name="prepare" depends="clean"> <mkdir dir="${classes}"/> <mkdir dir="${testclasses}"/> <mkdir dir="${instrumentedclasses}"/> <mkdir dir="${junitreports}"/> <mkdir dir="${coveragereports}"/> <mkdir dir="${webclasses}"/> <mkdir dir="${weblib}"/> <mkdir dir="${wars}"/> <! 编译 <target name="compile" depends="prepare"> <javac srcdir="${src}" destdir="${classes}" deprecation="on" debug="on"> <classpath refid="classpath"/> </javac> <javac srcdir="${test}" destdir="${testclasses}" deprecation="on" debug="on"> <classpath refid="classpath"/> </javac> <!--########### <target name="coverage.instrument" depends="compile"> <emma enabled="yes"> <instr instrpath="${classes}" destdir="${instrumentedclasses}" metadatafile="./coverage.ec" merge="true" > </instr> </emma> <! 测试 <target name="test" depends="coverage.instrument"> <junit printsummary="yes" haltonfailure="no"> <classpath refid="classpath"/> <formatter type="xml"/> <batchtest fork="yes" todir="${junitreports}"> <fileset dir="${test}"> <include name="**/*test*.java"/> <exclude name="**/alltests.java"/> </batchtest> </junit> 29/32

30 30/32 <! 测试报告 <target name="test.report" depends="test" > <junitreport todir="${junitreports}"> <fileset dir="${junitreports}"> <include name="test-*.xml"/> <report format="frames" todir="${junitreports}"/> </junitreport> <target name="coverage.report" depends="test" > <emma enabled="yes"> <report sourcepath="${src}" sort="+block,+name,+method,+class" metrics="method:70,block:80,line:80,class:100" > <fileset dir="./"> <include name="*.ec"/> <html outfile="${coveragereports}/coverage.html" depth="method" columns="name,class,method,block,line" /> </report> </emma> <! 拷贝到一起 <target name="assemble" depends="test"> <copy todir="${webclasses}"> <fileset dir="${src}"> <exclude name="**/*.java"/> <exclude name="**/*.class"/> </copy> <copy todir="${webclasses}"> <fileset dir="${classes}"/> </copy> <copy todir="${weblib}"> <fileset dir="${lib}"/> </copy> <copy todir="${webapp}"> <fileset dir="${web}"/> </copy> 30/32

31 31/32 <target name="assemblewebapp"> <copy todir="${webapp}"> <fileset dir="${web}"/> </copy> <! 打 war 包 <target name="war" depends="assemble"> <jar jarfile="${warfile}"> <fileset dir="${webapp}"> <include name="**/*"/> </jar> <target name="all" depends="test.report, coverage.report, war"/> </project> 9. 如何继续学习 掌握了上边的那些内容之后, 你就知道如何去写一个好的 ant, 但是你会发现当你真的想去做的时候, 你不能马上作出好的 build.xml, 因为你知道太少的 ant 的默认提供的命令. 这个时候如果你想完成任务, 并提高自己, 有很多办法 : 1, 很多开源的程序都带有 build.xml, 看看它们如何写的 2,ant 的 document, 里边详细列写了 ant 的各种默认命令, 及其丰富 3,google, 永远不要忘记它 ok, 在这之后随着你写的 ant build 越来越多, 你知道的命令就越多,ant 在你的手里也就越来越强大了 这个是一个慢慢积累的过程 10. Ant 使用 cvs 的实例 ant 的例子很好找, 各种开源框架都会带有一个 build.xml 仔细看看, 会有很大收获 另外一个经常会用到的, 但是在开远框架的 build.xml 一般没有的是 cvs 如果使用的是远程的 cvs, 可以这样使用 <?xml version="1.0" encoding="utf-8"?> <project> <property name="cvsroot" value=":pserver:wang:@ :/cvsroot"/> <property name="basedir" value="/tmp/testant/"/> <property name="cvs.password" value="wang"/> <property name="cvs.passfile" value="${basedir}/ant.cvspass"/> 31/32

32 32/32 <target name="initpass"> <cvspass cvsroot="${cvsroot}" password="${cvs.password}" passfile="${cvs.passfile}"/> <target name="checkout" depends="initpass"> <cvs cvsroot="${cvsroot}" command="checkout" cvsrsh="ssh" package="myproject" dest="${basedir}" passfile="${cvs.passfile}"/> </project> 11. QA: 如果执行 ant 过程中出现 Outofmemory 的错误怎么办? 答 : 加大内存, 设置环境变量 ANT_OPTS=-Xms128m -Xmx256m 12. 参考文献 : ant 官方手册, 文中大量引用了 ant 官方手册中的例子 32/32

Microsoft Word - ant.doc

Microsoft Word - ant.doc http://www.blogjava.net/dreamstone 1/21 Ant 介绍 1, 什么是 ant ant 是构建工具 2, 什么是构建概念到处可查到, 形象来说, 你要把代码从某个地方拿来, 编译, 再拷贝到某个地方去等等操作, 当然不仅与此, 但是主要用来干这个 3,ant 的好处跨平台 -- 因为 ant 是使用 java 实现的, 所以它跨平台使用简单 -- 与 ant 的兄弟

More information

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6 www.brainysoft.net 1.JasperReport ireport...4 1.1 JasperReport...4 1.2 ireport...4 2....4 2.1 JDK...4 2.1.1 JDK...4 2.1.2 JDK...5 2.1.3 JDK...5 2.2 ant...6 2.2.1 ant...6 2.2.2 ant...6 2.3 JasperReport...7

More information

内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指

内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指 内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指 导 你 搭 建 Linux 平 台 下 的 JAVA 开 发 环 境, 包 括 JDK 以 及 集

More information

Microsoft Word - 在VMWare-5.5+RedHat-9下建立本机QTopia-2.1.1虚拟平台a.doc

Microsoft Word - 在VMWare-5.5+RedHat-9下建立本机QTopia-2.1.1虚拟平台a.doc 在 VMWare-5.5+RedHat-9 下建立 本机 QTopia-2.1.1 虚拟平台 张大海 2008-5-9 一 资源下载 1. 需要以下安装包 : tmake-1.13.tar.gz qtopia-free-source-2.1.1.tar.gz qt-embedded-2.3.10-free.tar.gz qt-x11-2.3.2.tar.gz qt-x11-free-3.3.4.tar.gz

More information

Microsoft Word - Hibernate与Struts2和Spring组合指导.doc

Microsoft Word - Hibernate与Struts2和Spring组合指导.doc 1.1 组合 Hibernate 与 Spring 1. 在 Eclipse 中, 新建一个 Web project 2. 给该项目增加 Hibernate 开发能力, 增加 Hibernate 相关类库到当前项目的 Build Path, 同时也提供了 hibernate.cfg.xml 这个配置文件 3. 给该项目增加 Spring 开发能力, 增加 spring 相关类库到当前项目的 Build

More information

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit Tomcat Web JUnit Cactus JUnit Java Cactus JUnit 26.1 JUnit Java JUnit JUnit Java JSP Servlet JUnit Java Erich Gamma Kent Beck xunit JUnit boolean JUnit Java JUnit Java JUnit Java 26.1.1 JUnit JUnit How

More information

Java 1 Java String Date

Java 1 Java String Date JAVA SCJP Java 1 Java String Date 1Java 01 Java Java 1995 Java Java 21 Java Java 5 1-1 Java Java 1990 12 Patrick Naughton C++ C (Application Programming Interface API Library) Patrick Naughton NeXT Stealth

More information

内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌

内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌 语 言 程 序 设 计 郑 莉 胡 家 威 编 著 清 华 大 学 逸 夫 图 书 馆 北 京 内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌 握 语

More information

Linux服务器构建与运维管理

Linux服务器构建与运维管理 1 Linux 服务器构建与运维管理 第 2 章 :Linux 基本命令 阮晓龙 13938213680 / rxl@hactcm.edu.cn http://linux.xg.hactcm.edu.cn http://www.51xueweb.cn 河南中医药大学管理科学与工程学科 2018.3 2 提纲 目录与文件的操作 mkdir touch mv cp rm rmdir file tree

More information

2 Java 语 言 程 序 设 计 教 程 1.2.1 简 单 性 Java 语 言 的 语 法 与 C 语 言 和 C++ 语 言 很 接 近, 使 得 大 多 数 程 序 员 很 容 易 学 习 和 使 用 Java 另 一 方 面,Java 丢 弃 了 C++ 中 很 少 使 用 的 很 难

2 Java 语 言 程 序 设 计 教 程 1.2.1 简 单 性 Java 语 言 的 语 法 与 C 语 言 和 C++ 语 言 很 接 近, 使 得 大 多 数 程 序 员 很 容 易 学 习 和 使 用 Java 另 一 方 面,Java 丢 弃 了 C++ 中 很 少 使 用 的 很 难 第 1 章 Java 概 述 Java 的 诞 生 Java 的 特 点 Java 开 发 环 境 安 装 与 配 置 创 建 并 运 行 一 个 简 单 的 Java 程 序 Java 语 言 是 当 今 计 算 机 软 件 行 业 中 最 热 门 的 网 络 编 程 语 言, 以 Java 为 核 心 的 芯 片 技 术 编 译 技 术 数 据 库 连 接 技 术, 以 及 基 于 企 业 级

More information

内 容 协 作 平 台 TRS WCM 6.5 北 京 拓 尔 思 信 息 技 术 股 份 有 限 公 司 Beijing TRS Information Technology Co., Ltd 版 权 说 明 本 手 册 由 北 京 拓 尔 思 信 息 技 术 股 份 有 限 公 司 ( 以 下 简 称 TRS 公 司 ) 出 版, 版 权 属 TRS 公 司 所 有 未 经 出 版 者 正 式

More information

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 Java V1.0.1 2007 4 10 1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 6.2.10 6.3..10 6.4 11 7.12 7.1

More information

输入 project name 选择完成

输入 project name 选择完成 JAVA 程序访问 HighGo DB 的环境准备 山东瀚高科技有限公司版权所有仅允许不作任何修改的转载和转发 Hibernate 的配置 MyEclipse 中创建新项目 : 选择菜单栏 file---new---project 选择 web project 进行下一步 输入 project name 选择完成 4. 单击 " 添加 JAR/ 文件夹 ", 会如下图出现 JDBC 下载 Hibernate

More information

本章学习目标 小风 Java 实战系列教程 SpringMVC 简介 SpringMVC 的入门案例 SpringMVC 流程分析 配置注解映射器和适配器 注解的使用 使用不同方式的跳转页面 1. SpringMVC 简介 Spring web mvc

本章学习目标 小风 Java 实战系列教程 SpringMVC 简介 SpringMVC 的入门案例 SpringMVC 流程分析 配置注解映射器和适配器 注解的使用 使用不同方式的跳转页面 1. SpringMVC 简介 Spring web mvc 本章学习目标 SpringMVC 简介 SpringMVC 的入门案例 SpringMVC 流程分析 配置注解映射器和适配器 配置视图解析器 @RequestMapping 注解的使用 使用不同方式的跳转页面 1. SpringMVC 简介 Spring web mvc 和 Struts2 都属于表现层的框架, 它是 Spring 框架的一部分, 我们可 以从 Spring 的整体结构中看得出来 :

More information

Microsoft Word - Learn Objective-C.doc

Microsoft Word - Learn Objective-C.doc Learn Objective C http://cocoadevcentral.com/d/learn_objectivec/ Objective C Objective C Mac C Objective CC C Scott Stevenson [object method]; [object methodwithinput:input]; output = [object methodwithoutput];

More information

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 ->

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 -> 目录 1 大概思路... 1 2 创建 WebAPI... 1 3 创建 CrossMainController 并编写... 1 4 Nuget 安装 microsoft.aspnet.webapi.cors... 4 5 跨域设置路由... 4 6 编写 Jquery EasyUI 界面... 5 7 运行效果... 7 8 总结... 7 1 1 大概思路 创建 WebAPI 创建 CrossMainController

More information

附录J:Eclipse教程

附录J:Eclipse教程 附 录 J:Eclipse 教 程 By Y.Daniel Liang 该 帮 助 文 档 包 括 以 下 内 容 : Eclipse 入 门 选 择 透 视 图 创 建 项 目 创 建 Java 程 序 编 译 和 运 行 Java 程 序 从 命 令 行 运 行 Java Application 在 Eclipse 中 调 试 提 示 : 在 学 习 完 第 一 章 后 使 用 本 教 程 第

More information

Mac Java import com.apple.mrj.*;... public class MyFirstApp extends JFrame implements ActionListener, MRJAboutHandler, MRJQuitHandler {... public MyFirstApp() {... MRJApplicationUtils.registerAboutHandler(this);

More information

无类继承.key

无类继承.key 无类继承 JavaScript 面向对象的根基 周爱 民 / aimingoo aiming@gmail.com https://aimingoo.github.io https://github.com/aimingoo rand = new Person("Rand McKinnon",... https://docs.oracle.com/cd/e19957-01/816-6408-10/object.htm#1193255

More information

res/layout 目录下的 main.xml 源码 : <?xml version="1.0" encoding="utf 8"?> <TabHost android:layout_height="fill_parent" xml

res/layout 目录下的 main.xml 源码 : <?xml version=1.0 encoding=utf 8?> <TabHost android:layout_height=fill_parent xml 拓展训练 1- 界面布局 1. 界面布局的重要性做应用程序, 界面是最基本的 Andorid 的界面, 需要写在 res/layout 的 xml 里面, 一般情况下一个 xml 对应一个界面 Android 界面布局有点像写 html( 连注释代码的方式都一样 ), 要先给 Android 定框架, 然后再在框架里面放控件,Android 提供了几种框架,AbsoluteLayout,LinearLayout,

More information

使用MapReduce读取XML文件

使用MapReduce读取XML文件 使用 MapReduce 读取 XML 文件 XML( 可扩展标记语言, 英语 :extensible Markup Language, 简称 : XML) 是一种标记语言, 也是行业标准数据交换交换格式, 它很适合在系统之间进行数据存储和交换 ( 话说 Hadoop H ive 等的配置文件就是 XML 格式的 ) 本文将介绍如何使用 MapReduce 来读取 XML 文件 但是 Had oop

More information

Stateless Session Beans(无状态bean)的学习

Stateless Session Beans(无状态bean)的学习 一 Stateless Session Beans( 无状态 bean) 的学习 第一步 : 要定义一个会话 Bean, 首先需要定义一个包含他所有业务方法的接口 这个接口不需要任何注释, 就像普通的 java 接口那样定义 调用 EJB 的客户端通过使用这个接口引用从 EJB 容器得到的会话 Bean 对象 stub 接口的定义如下: HelloWorld.java package com.foshanshop.ejb3;

More information

提纲 1 2 OS Examples for 3

提纲 1 2 OS Examples for 3 第 4 章 Threads2( 线程 2) 中国科学技术大学计算机学院 October 28, 2009 提纲 1 2 OS Examples for 3 Outline 1 2 OS Examples for 3 Windows XP Threads I An Windows XP application runs as a seperate process, and each process may

More information

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 odps-sdk 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基 开放数据处理服务 ODPS SDK SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基础功能的主体接口, 搜索关键词 "odpssdk-core" 一些

More information

对于部署 MOSS 工作流, 有下面这些步骤 1. 添加 DLL 文件到 GAC 中 2. 配置 feature.xml 和 workflow.xml 文件 3. 在服务器添加 Feature 文件夹, 复制相关文件 4. 利用 stsadm 命令部署并激活 Feature Step1 添加 DLL

对于部署 MOSS 工作流, 有下面这些步骤 1. 添加 DLL 文件到 GAC 中 2. 配置 feature.xml 和 workflow.xml 文件 3. 在服务器添加 Feature 文件夹, 复制相关文件 4. 利用 stsadm 命令部署并激活 Feature Step1 添加 DLL 利用 INFOPATH 2007 + VS2005 开发 MOSS 工作流 ( 部署篇 ) 撰写者 :moss.net QQ:905865083 日期 :2008-7-17 32 对于部署 MOSS 工作流, 有下面这些步骤 1. 添加 DLL 文件到 GAC 中 2. 配置 feature.xml 和 workflow.xml 文件 3. 在服务器添加 Feature 文件夹, 复制相关文件 4.

More information

epub83-1

epub83-1 C++Builder 1 C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r 1.1 1.1.1 1-1 1. 1-1 1 2. 1-1 2 A c c e s s P a r a d o x Visual FoxPro 3. / C / S 2 C + + B u i l d e r / C

More information

D C 93 2

D C 93 2 D9223468 3C 93 2 Java Java -- Java UML Java API UML MVC Eclipse API JavadocUML Omendo PSPPersonal Software Programming [6] 56 8 2587 56% Java 1 epaper(2005 ) Java C C (function) C (reusability) eat(chess1,

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 1Z0-854 Title : Java Standard Edition 5 Programmer Certified Professional Upgrade Exam Version : Demo 1 / 12 1.Given: 20. public class CreditCard

More information

H1428

H1428 第 1 章 陽 光 穿 透 薄 紗 窗 簾, 迤 邐 灑 落 在 床 上 兩 副 相 偎 的 赤 裸 胴 體 上 一 雙 長 睫 搧 了 搧, 略 略 張 開 眼 皮, 露 出 一 對 黑 盈 盈 的 美 眸 從 落 地 窗 穿 透 進 來 的 璀 璨 艷 陽 令 女 子 微 瞇 起 眼, 突 地 發 現 眼 前 有 個 障 礙 物, 不 禁 怔 愣 了 下, 待 意 識 到 障 礙 物 是 什 麼

More information

Microsoft Word - 第5章.doc

Microsoft Word - 第5章.doc 目 录 及 权 限 管 理 随 着 的 不 断 发 展, 越 来 越 多 的 人 开 始 使 用, 对 于 那 些 刚 接 触 的 人 来 说, 恐 怕 最 先 感 到 困 惑 的 就 是 那 些 不 明 不 白 的 目 录 了 同 样, 系 统 是 一 个 典 型 的 多 用 户 系 统 为 了 保 护 系 统 的 安 全 性, 系 统 对 不 同 用 户 访 问 同 一 文 件 或 目 录 的

More information

Learning Java

Learning Java Java Introduction to Java Programming (Third Edition) Prentice-Hall,Inc. Y.Daniel Liang 2001 Java 2002.2 Java2 2001.10 Java2 Philip Heller & Simon Roberts 1999.4 Java2 2001.3 Java2 21 2002.4 Java UML 2002.10

More information

OSWorkflow Documentation

OSWorkflow Documentation OSWorkflow Documentation Update Time: 05/09/15 OSWorkflow Java workflow engine API 理 flow 行 XML 來 流 Database UI 不 流 GUI Designer end user 行 JSP+Servlet 行 OSWorkflow 2.8 說 2.7 2.7 了 OSWorkflow library library

More information

XXXXXXXX http://cdls.nstl.gov.cn 2 26

XXXXXXXX http://cdls.nstl.gov.cn 2 26 [ ] [ ] 2003-7-18 1 26 XXXXXXXX http://cdls.nstl.gov.cn 2 26 (2003-7-18) 1...5 1.1...5 1.2...5 1.3...5 2...6 2.1...6 2.2...6 2.3...6 3...7 3.1...7 3.1.1...7 3.1.2...7 3.1.2.1...7 3.1.2.1.1...8 3.1.2.1.2...10

More information

2 SGML, XML Document Traditional WYSIWYG Document Content Presentation Content Presentation Structure Structure? XML/SGML 3 2 SGML SGML Standard Gener

2 SGML, XML Document Traditional WYSIWYG Document Content Presentation Content Presentation Structure Structure? XML/SGML 3 2 SGML SGML Standard Gener SGML HTML XML 1 SGML XML Extensible Markup Language XML SGML Standard Generalized Markup Language, ISO 8879, SGML HTML ( Hypertext Markup Language HTML) (Markup Language) (Tag) < > Markup (ISO) 1986 SGML

More information

Hive:用Java代码通过JDBC连接Hiveserver

Hive:用Java代码通过JDBC连接Hiveserver Hive: 用 Java 代码通过 JDBC 连接 Hiveserver 我们可以通过 CLI Client Web UI 等 Hive 提供的用户接口来和 Hive 通信, 但这三种方式最常用的是 CLI;Client 是 Hive 的客户端, 用户连接至 Hive Server 在启动 Client 模式的时候, 需要指出 Hive Server 所在节点, 并且在该节点启动 Hive Server

More information

Microsoft Word - PHP7Ch01.docx

Microsoft Word - PHP7Ch01.docx PHP 01 1-6 PHP PHP HTML HTML PHP CSSJavaScript PHP PHP 1-6-1 PHP HTML PHP HTML 1. Notepad++ \ch01\hello.php 01: 02: 03: 04: 05: PHP 06:

More information

臺銀人壽「98年九至十一職等人員甄試」

臺銀人壽「98年九至十一職等人員甄試」 桃 園 大 眾 捷 運 公 司 104 年 度 新 進 人 員 甄 試 簡 章 執 行 單 位 : 銘 傳 大 學 地 址 : 台 北 市 士 林 區 中 山 北 路 五 段 250 號 電 話 :(02)28809748 服 務 時 間 : 週 一 至 週 五 8:10~17:00 E-mail:pr@mail.mcu.edu.tw 中 華 民 國 104 年 5 年 1 日 公 告 關 於 桃

More information

Microsoft Word - 01.DOC

Microsoft Word - 01.DOC 第 1 章 JavaScript 简 介 JavaScript 是 NetScape 公 司 为 Navigator 浏 览 器 开 发 的, 是 写 在 HTML 文 件 中 的 一 种 脚 本 语 言, 能 实 现 网 页 内 容 的 交 互 显 示 当 用 户 在 客 户 端 显 示 该 网 页 时, 浏 览 器 就 会 执 行 JavaScript 程 序, 用 户 通 过 交 互 式 的

More information

. Outline 编译 Linux 在 QEMU 模拟器上运行制作带 grub 启动的磁盘映像...1 编译 Linux 在 QEMU 模拟器上运行...2 制作带 grub 启动的磁盘映像

. Outline 编译 Linux 在 QEMU 模拟器上运行制作带 grub 启动的磁盘映像...1 编译 Linux 在 QEMU 模拟器上运行...2 制作带 grub 启动的磁盘映像 .... 计算机应用教研室 @ 计算机学院嵌入式系统实验室 @ 苏州研究院中国科学技术大学 Fall 2010 . Outline 编译 Linux 在 QEMU 模拟器上运行制作带 grub 启动的磁盘映像...1 编译 Linux 在 QEMU 模拟器上运行...2 制作带 grub 启动的磁盘映像 . 编译 Linux 在 QEMU 模拟器上运行 qemu+linux-2.6.26.1. 准备模拟器.2.

More information

好文章 吳麗娟老師收集 85頁

好文章 吳麗娟老師收集  85頁 各 位 朋 友 這 些 好 文 章, 能 讓 我 跟 您 分 享 的 概 念, 更 具 體 化! 和 您 分 享 這 些 好 文 章! 內 容 蠻 多 的, 請 慢 慢 品 嚐! 我 最 推 薦 獨 立 自 主 方 面 的 文 章, 尤 其 是 我 看 見 我 的 女 兒 一 文 ( 第 32 頁 ) 及 其 後 面 有 關 不 背 對 方 同 行 獨 立 自 主 的 文 章 吳 麗 娟 謹 上 表

More information

<4D6963726F736F667420506F776572506F696E74202D20C8EDBCFEB2E2CAD4D1A7CFB0D7CAC1CF2E707074205BBCE6C8DDC4A3CABD5D>

<4D6963726F736F667420506F776572506F696E74202D20C8EDBCFEB2E2CAD4D1A7CFB0D7CAC1CF2E707074205BBCE6C8DDC4A3CABD5D> 软 件 测 试 学 习 资 料 2014 对 软 件 产 品 ( 不 限 程 序 安 装 包 手 机 应 用 包 游 戏 网 站 等 ) 进 行 的 功 能 性 能 安 全 代 码 级 测 试 检 查, 以 便 发 现 各 种 类 型 的 错 误 找 出 跟 用 户 需 求 体 验 不 一 致 的 问 题 软 件 测 试 的 目 的 : 给 用 户 提 供 一 个 高 质 量 的 软 件 产 品,

More information

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO CHAPTER 使用 Hadoop 打造自己的雲 8 8.3 測試 Hadoop 雲端系統 4 Nodes Hadoop Map Reduce Hadoop WordCount 4 Nodes Hadoop Map/Reduce $HADOOP_HOME /home/ hadoop/hadoop-0.20.2 wordcount echo $ mkdir wordcount $ cd wordcount

More information

f2.eps

f2.eps 前 言, 目 录 产 品 概 况 1 SICAM PAS SICAM 电 力 自 动 化 系 统 配 置 和 使 用 说 明 配 置 2 操 作 3 实 时 数 据 4 人 机 界 面 5 SINAUT LSA 转 换 器 6 状 态 与 控 制 信 息 A 版 本 号 : 08.03.05 附 录, 索 引 安 全 标 识 由 于 对 设 备 的 特 殊 操 作 往 往 需 要 一 些 特 殊 的

More information

1

1 PRIMETON TECHNOLOGIES, LTD. EOS EOS Manager No part of this document may be reproduced, stored in any electronic retrieval system, or transmitted in any form or by any means, mechanical, photocopying,

More information

FileMaker 15 ODBC 和 JDBC 指南

FileMaker 15 ODBC 和 JDBC 指南 FileMaker 15 ODBC JDBC 2004-2016 FileMaker, Inc. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker FileMaker Go FileMaker, Inc. / FileMaker WebDirect FileMaker, Inc. FileMaker

More information

2. AOP 底层技术实现 小风 Java 实战系列教程 关键词 : 代理模式 代理模型分为两种 : 1) 接口代理 (JDK 动态代理 ) 2) 子类代理 (Cglib 子类代理 ) 需求 :CustomerService 业务类, 有 save,update 方法, 希望在 save,updat

2. AOP 底层技术实现 小风 Java 实战系列教程 关键词 : 代理模式 代理模型分为两种 : 1) 接口代理 (JDK 动态代理 ) 2) 子类代理 (Cglib 子类代理 ) 需求 :CustomerService 业务类, 有 save,update 方法, 希望在 save,updat 本章学习目标 小风 Java 实战系列教程 AOP 思想概述 AOP 底层技术实现 AOP 术语介绍 SpringAOP 的 XML 方式 HelloWorld SpringAOP 的 XML 方式配置细节 SpringAOP 的注解方式 SpringAOP 的零配置方式 1. AOP 思想概述 1.1. AOP 思想简介 1.2. AOP 的作用 2. AOP 底层技术实现 小风 Java 实战系列教程

More information

使用Spark SQL读取Hive上的数据

使用Spark SQL读取Hive上的数据 使用 Spark SQL 读取 Hive 上的数据 Spark SQL 主要目的是使得用户可以在 Spark 上使用 SQL, 其数据源既可以是 RDD, 也可以是外部的数据源 ( 比如 Parquet Hive Json 等 ) Spark SQL 的其中一个分支就是 Spark on Hive, 也就是使用 Hive 中 HQL 的解析 逻辑执行计划翻译 执行计划优化等逻辑, 可以近似认为仅将物理执行计划从

More information

会计9

会计9 ........................... .................. 96 17 1. 2. 3. 1. 2. 3. 1. 2. 3. 4. 1. 2. 3. 4. 1. 2. 3. 4. 5. 6. 1. 2. 3. 4. 1. 2. 3. 4. 5. 1. 2. 3. 4. 5. 95 18 1. 2. 3. 1. 2. 3. 2000 60 70 1.

More information

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0,

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0, http://debut.cis.nctu.edu.tw/~chi Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0, : POSITIVE_INFINITY NEGATIVE_INFINITY

More information

BPS 6.6 手工部署指南 (JBoss4) 手工部署 BPS( 单机 ) 手工部署包支持的 jboss 版本有 jboss ga 和 jboss ga 示例中的 jboss 版本为 jboss ga, 操作系统为 Solaris(IP:

BPS 6.6 手工部署指南 (JBoss4) 手工部署 BPS( 单机 ) 手工部署包支持的 jboss 版本有 jboss ga 和 jboss ga 示例中的 jboss 版本为 jboss ga, 操作系统为 Solaris(IP: BPS 6.6 手工部署指南 (JBoss4) 手工部署 BPS( 单机 ) 手工部署包支持的 jboss 版本有 jboss-4.0.5.ga 和 jboss-5.1.0.ga 示例中的 jboss 版本为 jboss-4.0.5.ga, 操作系统为 Solaris(IP:192.168.2.179), 进行手工配置前需要准备好干净的 jboss 环境 1. 获取部署文件 从 BPS_6.6_Deploy_Package.zip

More information

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d

More information

4.1 AMI MQSeries API AMI MQI AMI / / AMI JavaC C++ AMI / AMI AMI - / /

4.1 AMI MQSeries API AMI MQI AMI / / AMI JavaC C++ AMI / AMI AMI - / / 4 AMI AMI AMI SC345604 89 4.1 AMI MQSeries API AMI MQI AMI / / AMI JavaC C++ AMI / AMI AMI - / / 91 41-90 41 AMI - AMI - - API MQI MQSeries MQI AMI IBM 91 MQSeries REPOSITORY AMI AMI AMI XML Windows AMI

More information

Microsoft Word - Personal Java.{...].p_3_.doc

Microsoft Word - Personal Java.{...].p_3_.doc Personal Java 程序设计 ( 三 ) - Symbian OS Java 程序设计入门 by 王森 Sun Microsystems 教育训练中心 moli0205@mail2000.com.tw 引言 您想用 Java 来设计手机与 PDA 的应用程序, 可是嫌 J2ME MIDP 功能太少, 无法让您尽情发挥吗? 笔者建议您试试 Personal Java Personal 可以让您设计的

More information

OOP with Java 通知 Project 3 提交时间 3 月 29 日晚 9 点 Piazza Project 2 投票

OOP with Java 通知 Project 3 提交时间 3 月 29 日晚 9 点 Piazza Project 2 投票 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 3 提交时间 3 月 29 日晚 9 点 Piazza Project 2 投票 复习 创建对象 构造函数 函数重载 : 函数 = 函数名 + 参数列表 public class MyType { int i; double d; char c; void set(double x)

More information

2005 Sun Microsystems, Inc Network Circle, Santa Clara, CA U.S.A. Sun Sun Berkeley BSD UNIX X/Open Company, Ltd. / Sun Sun Microsystems Su

2005 Sun Microsystems, Inc Network Circle, Santa Clara, CA U.S.A. Sun Sun Berkeley BSD UNIX X/Open Company, Ltd. / Sun Sun Microsystems Su Java Desktop System Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054 U.S.A. : 819 0675 10 2005 2 2005 Sun Microsystems, Inc. 4150 Network Circle, Santa Clara, CA 95054 U.S.A. Sun Sun Berkeley

More information

基于CDIO一体化理念的课程教学大纲设计

基于CDIO一体化理念的课程教学大纲设计 Java 语 言 程 序 设 计 课 程 教 学 大 纲 Java 语 言 程 序 设 计 课 程 教 学 大 纲 一 课 程 基 本 信 息 1. 课 程 代 码 :52001CC022 2. 课 程 名 称 :Java 语 言 程 序 设 计 3. 课 程 英 文 名 称 :Java Programming 4. 课 程 类 别 : 理 论 课 ( 含 实 验 上 机 或 实 践 ) 5. 授

More information

Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7.

Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7. Kubernetes 包管理理 工具 Helm 蔺礼强 Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7. Kubernetes

More information

FileMaker 16 ODBC 和 JDBC 指南

FileMaker 16 ODBC 和 JDBC 指南 FileMaker 16 ODBC JDBC 2004-2017 FileMaker, Inc. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker FileMaker Go FileMaker, Inc. FileMaker WebDirect FileMaker Cloud FileMaker,

More information

嵌入式系统实验报告之一

嵌入式系统实验报告之一 南京航空航天大学 嵌入式系统综合实验报告 Qtopia 在 S3C2440 开发板上的移植 040630520 彭立勋 2009.05 一 实验目的 1. 熟悉 ARM 体系结构 ; 2. 熟悉 Qtopia 图形环境 二 实验内容 将 Qtopia 图形环境移植到 FriendlyARM QQ2440 开发板 三 预备知识 Qtopia 的体系结构 四 实验设备及工具 硬件 :QQ2440 开发板

More information

Chapter 9: Objects and Classes

Chapter 9: Objects and Classes Fortran Algol Pascal Modula-2 BCPL C Simula SmallTalk C++ Ada Java C# C Fortran 5.1 message A B 5.2 1 class Vehicle subclass Car object mycar public class Vehicle extends Object{ public int WheelNum

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション Perl CGI 1 Perl CGI 2 Perl CGI 3 Perl CGI 4 1. 2. 1. #!/usr/local/bin/perl 2. print "Content-type: text/html n n"; 3. print " n"; 4. print " n"; 3. 4.

More information

Oracle Solaris Studio makefile C C++ Fortran IDE Solaris Linux C/C++/Fortran IDE "Project Properties" IDE makefile 1.

Oracle Solaris Studio makefile C C++ Fortran IDE Solaris Linux C/C++/Fortran IDE Project Properties IDE makefile 1. Oracle Solaris Studio 12.2 IDE 2010 9 2 8 9 10 11 13 20 26 28 30 32 33 Oracle Solaris Studio makefile C C++ Fortran IDE Solaris Linux C/C++/Fortran IDE "Project Properties" IDE makefile 1. "File" > "New

More information

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double

More information

自动化接口

自动化接口 基 于 文 件 的 数 据 交 换 的 注 意 事 项 1 SPI 2 COMOS Automation 操 作 手 册 通 用 Excel 导 入 3 通 过 OPC 客 户 端 的 过 程 可 视 化 4 SIMIT 5 GSD 6 05/2016 V 10.2 A5E37093378-AA 法 律 资 讯 警 告 提 示 系 统 为 了 您 的 人 身 安 全 以 及 避 免 财 产 损 失,

More information

Partition Key: 字 符 串 类 型, 表 示 当 前 Entity 的 分 区 信 息 这 个 Property 对 于 Table Service 自 动 纵 向 和 横 向 扩 展 至 关 重 要 Row Key: 字 符 串 类 型, 在 给 定 Partition Key 的

Partition Key: 字 符 串 类 型, 表 示 当 前 Entity 的 分 区 信 息 这 个 Property 对 于 Table Service 自 动 纵 向 和 横 向 扩 展 至 关 重 要 Row Key: 字 符 串 类 型, 在 给 定 Partition Key 的 4.2 使 用 Table Service Table Service 相 对 来 说 是 三 个 Storage Service 中 最 好 理 解 和 最 易 于 接 受 的, 它 主 要 用 来 存 储 结 构 化 数 据 但 是 Table Service 却 并 不 是 一 个 关 系 型 数 据 库 Table Service 由 两 个 部 分 组 成 :Table 和 Entity

More information

Microsoft Word - linux命令及建议.doc

Microsoft Word - linux命令及建议.doc Linux 操 作 系 统 命 令 集 1 基 本 命 令 查 看 系 统 信 息 : uname -a 修 改 密 码 : passwd 退 出 : logout(exit) 获 取 帮 助 : man commands 2 文 件 和 目 录 命 令 显 示 当 前 工 作 目 录 : pwd 改 变 所 在 目 录 : cd cd - 切 换 到 上 一 次 使 用 的 目 录 cd 切 换

More information

EJB-Programming-3.PDF

EJB-Programming-3.PDF :, JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Value Object Design Pattern J2EE Design Patterns Value Object Value Object Factory J2EE EJB Test Client

More information

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例 帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例 这篇文章主要介绍了帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例, 本文还详细介绍了帝国 CMS 数据库类中的一些常用方法, 需要的朋友可以参考下 例 1: 连接 MYSQL 数据库例子 (a.php)

More information

Business Objects 5.1 Windows BusinessObjects 1

Business Objects 5.1 Windows BusinessObjects 1 Business Objects 5.1 Windows BusinessObjects 1 BusinessObjects 2 BusinessObjects BusinessObjects BusinessObjects Windows95/98/NT BusinessObjects Windows BusinessObjects BusinessObjects BusinessObjects

More information

「西醫基層總額支付委員會《第28次委員會議紀錄

「西醫基層總額支付委員會《第28次委員會議紀錄 西 醫 基 層 總 額 支 付 委 員 會 101 年 第 2 次 委 員 會 議 紀 錄 時 間 :101 年 5 月 23 日 下 午 2 時 地 點 : 中 央 健 康 保 險 局 18 樓 會 議 室 ( 台 北 市 信 義 路 3 段 140 號 18 樓 ) 主 席 : 黃 召 集 人 三 桂 出 席 委 員 : 王 委 員 正 坤 王 委 員 錦 基 古 委 員 博 仁 王 正 坤 王

More information

EJB-Programming-4-cn.doc

EJB-Programming-4-cn.doc EJB (4) : (Entity Bean Value Object ) JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Session Bean J2EE Session Façade Design Pattern Session Bean Session

More information

untitled

untitled MeetingPlaza Version6.1 License Package NTT IT 2012 11 20 I 1... 4 1-1 Web...4 1-2 MeetingPlaza...4 1-3...4 1-4...5 2... 6 2-1...6 2-2...7 3... 9 3-1...10 3-2...13 3-3...16 3-3-1... 17 3-3-2... 18 3-3-3...

More information

在Spring中使用Kafka:Producer篇

在Spring中使用Kafka:Producer篇 在某些情况下, 我们可能会在 Spring 中将一些 WEB 上的信息发送到 Kafka 中, 这时候我们就需要在 Spring 中编写 Producer 相关的代码了 ; 不过高兴的是,Spring 本身提供了操作 Kafka 的相关类库, 我们可以直接通过 xml 文件配置然后直接在后端的代码中使用 Kafka, 非常地方便 本文将介绍如果在 Spring 中将消息发送到 Kafka 在这之前,

More information

华恒家庭网关方案

华恒家庭网关方案 LINUX V1.5 1 2 1 2 LINUX WINDOWS PC VC LINUX WINDOWS LINUX 90% GUI LINUX C 3 REDHAT 9 LINUX PC TFTP/NFS http://www.hhcn.com/chinese/embedlinux-res.html minicom NFS mount C HHARM9-EDU 1 LINUX HHARM9-EDU

More information

基于UML建模的管理管理信息系统项目案例导航——VB篇

基于UML建模的管理管理信息系统项目案例导航——VB篇 PowerBuilder 8.0 PowerBuilder 8.0 12 PowerBuilder 8.0 PowerScript PowerBuilder CIP PowerBuilder 8.0 /. 2004 21 ISBN 7-03-014600-X.P.. -,PowerBuilder 8.0 - -.TP311.56 CIP 2004 117494 / / 16 100717 http://www.sciencep.com

More information

untitled

untitled 1 Outline 料 類 說 Tang, Shih-Hsuan 2006/07/26 ~ 2006/09/02 六 PM 7:00 ~ 9:30 聯 ives.net@gmail.com www.csie.ntu.edu.tw/~r93057/aspnet134 度 C# 力 度 C# Web SQL 料 DataGrid DataList 參 ASP.NET 1.0 C# 例 ASP.NET 立

More information

提问袁小兵:

提问袁小兵: C++ 面 试 试 题 汇 总 柯 贤 富 管 理 软 件 需 求 分 析 篇 1. STL 类 模 板 标 准 库 中 容 器 和 算 法 这 部 分 一 般 称 为 标 准 模 板 库 2. 为 什 么 定 义 虚 的 析 构 函 数? 避 免 内 存 问 题, 当 你 可 能 通 过 基 类 指 针 删 除 派 生 类 对 象 时 必 须 保 证 基 类 析 构 函 数 为 虚 函 数 3.

More information

untitled

untitled 4.1AOP AOP Aspect-oriented programming AOP 來說 AOP 令 理 Cross-cutting concerns Aspect Weave 理 Spring AOP 來 AOP 念 4.1.1 理 AOP AOP 見 例 來 例 錄 Logging 錄 便 來 例 行 留 錄 import java.util.logging.*; public class HelloSpeaker

More information

User’s Manual

User’s Manual V7 用 户 手 册 亿 图 为 您 专 业 图 表 设 计 提 供 最 佳 解 决 方 案 2004-2014 EdrawSoft. All right reserved. Edraw and Edraw logo are registered trademarks of EdrawSoft. 目 录 亿 图 怎 样 优 越 于 其 他 软 件... 5 亿 图 7 个 新 功 能... 6 为

More information

目錄

目錄 資 訊 素 養 線 上 教 材 單 元 五 資 料 庫 概 論 及 Access 5.1 資 料 庫 概 論 5.1.1 為 什 麼 需 要 資 料 庫? 日 常 生 活 裡 我 們 常 常 需 要 記 錄 一 些 事 物, 以 便 有 朝 一 日 所 記 錄 的 事 物 能 夠 派 得 上 用 場 我 們 能 藉 由 記 錄 每 天 的 生 活 開 銷, 就 可 以 在 每 個 月 的 月 底 知

More information

WebSphere Studio Application Developer IBM Portal Toolkit... 2/21 1. WebSphere Portal Portal WebSphere Application Server stopserver.bat -configfile..

WebSphere Studio Application Developer IBM Portal Toolkit... 2/21 1. WebSphere Portal Portal WebSphere Application Server stopserver.bat -configfile.. WebSphere Studio Application Developer IBM Portal Toolkit... 1/21 WebSphere Studio Application Developer IBM Portal Toolkit Portlet Doug Phillips (dougep@us.ibm.com),, IBM Developer Technical Support Center

More information

北 风 网 讲 师 原 创 作 品 ---- 仅 供 学 员 内 部 交 流 使 用 前 言 吾 尝 终 日 而 思 矣, 不 如 须 臾 之 所 学 也 ; 吾 尝 跂 而 望 矣, 不 如 登 高 之 博 见 也 登 高 而 招, 臂 非 加 长 也, 而 见

北 风 网 讲 师 原 创 作 品 ---- 仅 供  学 员 内 部 交 流 使 用 前 言 吾 尝 终 日 而 思 矣, 不 如 须 臾 之 所 学 也 ; 吾 尝 跂 而 望 矣, 不 如 登 高 之 博 见 也 登 高 而 招, 臂 非 加 长 也, 而 见 北 风 网 讲 师 原 创 作 品 ---- 仅 供 www.ibeifeng.com 学 员 内 部 交 流 使 用 前 言 吾 尝 终 日 而 思 矣, 不 如 须 臾 之 所 学 也 ; 吾 尝 跂 而 望 矣, 不 如 登 高 之 博 见 也 登 高 而 招, 臂 非 加 长 也, 而 见 者 远 ; 顺 风 而 呼, 声 非 加 疾 也, 而 闻 者 彰 假 舆 马 者, 非 利 足 也,

More information

三种方法实现Hadoop(MapReduce)全局排序(1)

三种方法实现Hadoop(MapReduce)全局排序(1) 三种方法实现 Hadoop(MapReduce) 全局排序 () 三种方法实现 Hadoop(MapReduce) 全局排序 () 我们可能会有些需求要求 MapReduce 的输出全局有序, 这里说的有序是指 Key 全局有序 但是我们知道,MapReduce 默认只是保证同一个分区内的 Key 是有序的, 但是不保证全局有序 基于此, 本文提供三种方法来对 MapReduce 的输出进行全局排序

More information

untitled

untitled 1 Access 料 (1) 立 料 [] [] [ 料 ] 立 料 Access 料 (2) 料 [ 立 料 ] Access 料 (3) 料 料 料 料 料 料 欄 ADO.NET ADO.NET.NET Framework 類 來 料 料 料 料 料 Ex MSSQL Access Excel XML ADO.NET 連 .NET 料.NET 料 料來 類.NET Data Provider

More information

<4D6963726F736F667420576F7264202D20C8EDBCFEA1B232303130A1B33136BAC5A3BAB9D8D3DAB7A2B2BC32303130C4EAC8EDBCFEB9A4B3CCCAB5D1B5D6AED0A3C4DABFC6D1D0CFEEC4BFB5C4CDA8D6AA2E646F63>

<4D6963726F736F667420576F7264202D20C8EDBCFEA1B232303130A1B33136BAC5A3BAB9D8D3DAB7A2B2BC32303130C4EAC8EDBCFEB9A4B3CCCAB5D1B5D6AED0A3C4DABFC6D1D0CFEEC4BFB5C4CDA8D6AA2E646F63> 附 件 4 软 件 学 院 第 六 届 软 件 创 新 设 计 大 赛 专 题 项 目 项 目 1 指 导 老 师 : 林 倞 潘 炎 曾 坤 项 目 ( 课 题 ) 名 称 : 基 于 GraphCut 算 法 的 快 速 图 像 分 割 技 术 图 像 分 割 是 图 像 处 理 的 基 本 技 术 之 一, 也 是 图 像 分 析 的 最 基 本 的 步 骤, 作 为 计 算 机 视 觉 的

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 Linux 操 作 系 统 基 础 介 绍 课 程 目 标 及 要 求 了 解 Linux 操 作 系 统 的 登 入 方 式 掌 握 常 用 命 令 的 基 本 用 法 能 够 熟 练 在 各 个 目 录 转 换 Outline 1. Linux 操 作 系 统 简 介 2. Linux 操 作 系 统 的 登 录 3. Linux 操 作 系 统 的 目 录 结 构 4. 常 用 命 令 5.

More information

1. 访 问 最 新 发 行 公 告 信 息 jconnect for JDBC 7.0 1. 访 问 最 新 发 行 公 告 信 息 最 新 版 本 的 发 行 公 告 可 以 从 网 上 获 得 若 要 查 找 在 本 产 品 发 布 后 增 加 的 重 要 产 品 或 文 档 信 息, 请 访

1. 访 问 最 新 发 行 公 告 信 息 jconnect for JDBC 7.0 1. 访 问 最 新 发 行 公 告 信 息 最 新 版 本 的 发 行 公 告 可 以 从 网 上 获 得 若 要 查 找 在 本 产 品 发 布 后 增 加 的 重 要 产 品 或 文 档 信 息, 请 访 发 行 公 告 jconnect for JDBC 7.0 文 档 ID:DC74874-01-0700-01 最 后 修 订 日 期 :2010 年 3 月 2 日 主 题 页 码 1. 访 问 最 新 发 行 公 告 信 息 2 2. 产 品 摘 要 2 3. 特 殊 安 装 说 明 2 3.1 查 看 您 的 jconnect 版 本 3 4. 特 殊 升 级 指 导 3 4.1 迁 移 3

More information

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc References (Section 5.2) Hsuan-Tien Lin Deptartment of CSIE, NTU OOP Class, March 15-16, 2010 H.-T. Lin (NTU CSIE) References OOP 03/15-16/2010 0 / 22 Fun Time (1) What happens in memory? 1 i n t i ; 2

More information

(6) 要 求 付 款 管 理 员 从 预 订 表 中 查 询 距 预 订 的 会 议 时 间 两 周 内 的 预 定, 根 据 客 户 记 录 给 满 足 条 件 的 客 户 发 送 支 付 余 款 要 求 (7) 支 付 余 款 管 理 员 收 到 客 户 余 款 支 付 的 通 知 后, 检

(6) 要 求 付 款 管 理 员 从 预 订 表 中 查 询 距 预 订 的 会 议 时 间 两 周 内 的 预 定, 根 据 客 户 记 录 给 满 足 条 件 的 客 户 发 送 支 付 余 款 要 求 (7) 支 付 余 款 管 理 员 收 到 客 户 余 款 支 付 的 通 知 后, 检 2016 年 上 半 年 软 件 设 计 师 考 试 真 题 ( 下 午 题 ) 下 午 试 题 试 题 一 ( 共 15 分 ) 阅 读 下 列 说 明 和 图, 回 答 问 题 1 至 问 题 4, 将 解 答 填 入 答 题 纸 的 对 应 栏 内 说 明 某 会 议 中 心 提 供 举 办 会 议 的 场 地 设 施 和 各 种 设 备, 供 公 司 与 各 类 组 织 机 构 租 用 场

More information

p.2 1 <HTML> 2 3 <HEAD> 4 <TITLE> </TITLE> 5 </HEAD> 6 7 <BODY> 8 <H3><B> </B></H3> 9 <H4><I> </I></H4> 10 </BODY> </HTML> 1. HTML 1. 2.

p.2 1 <HTML> 2 3 <HEAD> 4 <TITLE> </TITLE> 5 </HEAD> 6 7 <BODY> 8 <H3><B> </B></H3> 9 <H4><I> </I></H4> 10 </BODY> </HTML> 1. HTML 1. 2. 2005-06 p.1 HTML HyperText Mark-up Language 1. HTML Logo, Pascal, C++, Java HTML 2. HTML (tag) 3. HTML 4. HTML 1. HTML 2. 3. FTP HTML HTML html 1. html html html cutehtmleasyhtml 2. wyswyg (What you see

More information

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入 100 年 特 種 考 試 地 方 政 府 公 務 人 員 考 試 試 題 等 別 : 三 等 考 試 類 科 : 資 訊 處 理 科 目 : 系 統 分 析 與 設 計 一 請 參 考 下 列 旅 館 管 理 系 統 的 使 用 案 例 圖 (Use Case Diagram) 撰 寫 預 約 房 間 的 使 用 案 例 規 格 書 (Use Case Specification), 繪 出 入

More information

( Version 0.4 ) 1

( Version 0.4 ) 1 ( Version 0.4 ) 1 3 3.... 3 3 5.... 9 10 12 Entities-Relationship Model. 13 14 15.. 17 2 ( ) version 0.3 Int TextVarchar byte byte byte 3 Id Int 20 Name Surname Varchar 20 Forename Varchar 20 Alternate

More information

目 錄 版 次 變 更 記 錄... 2 原 始 程 式 碼 類 型 之 使 用 手 冊... 3 一 安 裝 軟 體 套 件 事 前 準 備... 3 二 編 譯 流 程 說 明... 25 1

目 錄 版 次 變 更 記 錄... 2 原 始 程 式 碼 類 型 之 使 用 手 冊... 3 一 安 裝 軟 體 套 件 事 前 準 備... 3 二 編 譯 流 程 說 明... 25 1 科 技 部 自 由 軟 體 專 案 原 始 程 式 碼 使 用 手 冊 Source Code Manual of NSC Open Source Project 可 信 賴 的 App 安 全 應 用 框 架 -App 應 用 服 務 可 移 轉 性 驗 證 Trusted App Framework -Transferability Verification on App MOST 102-2218-E-011-012

More information

mvc

mvc Build an application Tutor : Michael Pan Application Source codes - - Frameworks Xib files - - Resources - ( ) info.plist - UIKit Framework UIApplication Event status bar, icon... delegation [UIApplication

More information

ebook60-13

ebook60-13 13 H T M L F l a s h J a v a < i m g > 13.1 H T M L A c t i v e X H T M L < i m g > HTML 4.0 < o b j e c t > < / o b j e c t > 13.1.1 H T M L < o b j e c t > c l a s s i d d a t a < p a r a m > 1.

More information

Microsoft Word - 11900電腦軟體設計.doc

Microsoft Word - 11900電腦軟體設計.doc 技 能 檢 定 規 範 之 一 一 九 電 腦 軟 體 行 政 院 勞 工 委 員 會 職 業 訓 練 局 編 印 軟 體 技 術 士 技 能 檢 定 規 範 目 錄 一 軟 體 技 術 士 技 能 檢 定 規 範 說 明... 1 二 丙 級 軟 體 技 術 士 技 能 檢 定 規 範... 3 三 乙 級 軟 體 技 術 士 技 能 檢 定 規 範... 5 四 甲 級 軟 體 技 術 士 技

More information

Microsoft Word - 新1-12.doc

Microsoft Word - 新1-12.doc 实训 5 面向对象编程练习 实训 5 面向对象编程练习 5.1 实训目的 通过编程和上机实验理解 Java 语言是如何体现面向对象编程基本思想 以及如何创建类 和对象 了解成员变量和成员方法的特性 5.2 实训要求 编写一个体现面向对象思想的程序 编写一个创建对象和使用对象的方法的程序 5.3 实训内容 5.3.1 创建对象并使用对象 1 定义一个 Person 类 可以在应用程序中使用该类 成员属性

More information

目 录 1. 硬 件 安 装 步 骤... 3 1.1 云 端 加 密 键 盘... 3 1.2 云 端 键 盘 加 密 串 接 器... 3 2. 软 件 安 装 步 骤... 4 3. 软 件 基 本 功 能... 5 4. 软 件 进 阶 使 用 说 明... 6 1.3 选 单 说 明...

目 录 1. 硬 件 安 装 步 骤... 3 1.1 云 端 加 密 键 盘... 3 1.2 云 端 键 盘 加 密 串 接 器... 3 2. 软 件 安 装 步 骤... 4 3. 软 件 基 本 功 能... 5 4. 软 件 进 阶 使 用 说 明... 6 1.3 选 单 说 明... 使 用 手 册 1.28 版 1/17 目 录 1. 硬 件 安 装 步 骤... 3 1.1 云 端 加 密 键 盘... 3 1.2 云 端 键 盘 加 密 串 接 器... 3 2. 软 件 安 装 步 骤... 4 3. 软 件 基 本 功 能... 5 4. 软 件 进 阶 使 用 说 明... 6 1.3 选 单 说 明... 6 1.4 设 定 窗 口 说 明... 7 4.2.1 键

More information