ant参数化jmx脚本名
❶ 一个ANT问题,高手请进。
你把classpath换个名字看看,他是关键字
定义classpath
<!-- ================================================================== -->
<!-- Define the classpath for compile the component -->
<!-- ================================================================== -->
<path id="base.path">
<pathelement location="${jboss.client}/jboss-j2ee.jar" />
<pathelement location="${jboss.client}/jnp-client.jar" />
<pathelement location="${jboss.client}/jbossmq-client.jar" />
<pathelement location="${jboss.client}/jbosssx-client.jar" />
<pathelement location="${jboss.client}/concurrent.jar" />
<pathelement location="${jboss.client}/jaas.jar" />
<pathelement location="${jboss.lib}/jboss-jmx.jar" />
<pathelement
location="${jboss.home}/server/${jboss.configuration}/lib/jbosssx.jar" />
<pathelement
location="${jboss.home}/server/${jboss.configuration}/lib/mail.jar" />
</path>
讲解:此段定义应用服务器中包文件,如支持ejb的jboss-j2ee.jar、支持客户端程序的jnp-client.jar、jbossmq-client.jar、jbosssx-client.jar、支持javaMail的mail.jar等。
<path id="project.path">
<path refid="base.path"/>
<pathelement location="${ProjectName.componentName.classbindir}"/>
<pathelement location="${ProjectName.componentName.ejbjar.client}"/>
<pathelement
location="${ProjectName.referencesComponentName.classbindir}"/>
<pathelement location="${ProjectName.referencesComponentName.ejbjar.client}"/>
</path>
讲解:此段定义项目中要用到的包文件。
<path id="web.path">
<path refid="project.path"/>
<pathelement location="${servlet-lib.path}"/>
<pathelement location="${ejb-classes.dest}"/>
</path>
讲解:此段定义在编译servlet时的classpath,${ servlet-lib.path }是系统指定的Servlet引擎包。
❷ build.xml是什么
1、ant的配置文件,用于打包发布,里面含有配置文件。有点类似于linux/unix下的makefile。
(1)build.xml就是一个XML文件,它包含一个project节点和至少一个target节点,target节点包含多个task元素。简单说,target节点代表着你的构建目标,而该目标是由多个操作/任务(task)来达成的。
(2)文字描述比较枯燥,下面以简单的java项目为例,说明如何通过ant发布jar包。
在eclipse中新建一个java项目,结构如下
2、ant
(1)Apache Ant,是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。由Apache软件基金会所提供。
(2)Ant的优点
A、Ant是Apache软件基金会JAKARTA目录中的一个子项目,它有以下的优点。跨平台性。Ant是存Java语言编写的,所示具有很好的跨平台性。操作简单。Ant是由一个内置任务和可选任务组成的。Ant运行时需要一个XML文件(构建文件)。Ant通过调用target树,就可以执行各种task。
B、每个task实现了特定接口对象。由于Ant构建文件时XML格式的文件,所以和容易维护和书写,而且结构很清晰。Ant可以集成到开发环境中。由于Ant的跨平台性和操作简单的特点,它很容易集成到一些开发环境中去。
(3)Ant 开发
Ant的构建文件:当开始一个新的项目时,首先应该编写Ant构建文件。构建文件定义了构建过程,并被团队开发中每个人使用。Ant构建文件默认命名为build.xml,也可以取其他的名字。只不过在运行的时候把这个命名当作参数传给Ant。构建文件可以放在任何的位置。一般做法是放在项目顶层目录中,这样可以保持项目的简洁和清晰。
❸ 如何用ant+svn+tomcat实现自动构建
一,准备工作
1,svn服务器, VisualSVN-Server,将 安装路径/bin 添加到系统环境变量Path中,比如c:/program file/VisualSVN-Server/bin添加到path中,因为ant需要调用svn指令
2,安装ant
3,安装svnant插件,http://subclipse.tigris.org/svnant.html,是ant集成svn的插件,下载后解压缩,将lib下的所有文件复制到ant的lib文件夹下。svn版本在1.6以上的,一般下载svnant 1.3。
4,在系统环境变量中,配置好JAVA_HOME,CATALINA_HOME,PATH,因为ant要调用java编译指令和tomcat启动关闭指令
二,编写脚本
1,新建一个build.xml文件,复制下面代码,除了project的name属性需要自己定义,其他基本不需要更改
<projectbasedir="."name="SAEP"default="auto">
<!-- 所有的参数都在build.properties文件 ,另外系统环境变量中需要配好java和tomcat变量,包括JAVA_HOME和CATALINA_HOME-->
<propertyfile="build.properties"/>
<!-- 定义classpath-->
<pathid="project.classpath">
<filesetdir="${ant_lib}"includes="***.jar"></fileset>
<filesetdir="${tomcat_lib}"includes="***.jar"></fileset>
<filesetdir="${project_lib}"includes="***.jar"></fileset>
</path>
<!-- 引用svn task文件,使用svn任务可以被ant使用-->
<typedefresource="org/tigris/subversion/svnant/svnantlib.xml"/>
<!--1,总领关闭tomcat,部署,启动tomcat,如果tomcat在关闭状态直接执行deploy和startuptomcat-->
<!-- <target name="auto" depends="deploy,startuptomcat">-->
<targetname="auto"depends="shutdowntomcat,deploy,startuptomcat">
<echomessage="WELL DONE!!!!"/>
</target>
<!--2,关闭tomcat-->
<targetname="shutdowntomcat"description="========shutdowntomcat===========">
<execexecutable="${tomcat_home}/bin/shutdown.bat"failonerror="false"></exec>
<sleepseconds="5"/>
</target>
<!--3,清理tomcat下面之前部署的项目 -->
<targetname="clear">
<deletedir="${project_space}"/>
<mkdirdir="${project_space}"/>
<deletedir="${tomcat_home}/work/Catalina/localhost/${ant.project.name}"/>
<deletedir="${tomcat_home}/webapps/${ant.project.name}"/>
<deletedir="${tomcat_home}/webapps/${ant.project.name}.war"/>
</target>
<!--4,svn检出代码 这里使用 export 不是checkout 二者区别 checkout会svn相关信息文件检出,export只是检出最新的文件-->
<svnSettingid="setting"svnkit="true"username="${svn.username}"password="${svn.password}"javahl="false"/>
<targetname="checkout"depends="clear">
<svnrefid="setting">
<exportsrcUrl="${svn.url}"destPath="${project_space}"force="true"/>
</svn>
</target>
<!--5,编译-->
<targetname="compile"depends="checkout"description="======compile project======">
<echomessage="compile==========>${ant.project.name}: ${ant.file}" />
<!-- 编译java文件-->
<javacincludeAntRuntime="false"includeJavaRuntime="true"excludes="test/*.*"srcdir="${project_space}"destdir="${project_space}/WebRoot/WEB-INF/classes"encoding="utf-8">
<classpath>
<pathrefid="project.classpath">
</path>
</classpath>
</javac>
<!-- 将除java以外的配置文件,复制到classes目录下,flatten用来控制只复制文件,不复制目录结构-->
<includeemptydirs="false"flatten="true"todir="${project_space}/WebRoot/WEB-INF/classes">
<filesetdir="${project_space}"includes="**/*.properties,**/*.xml,**/*.dll"excludes="WebRoot/**"/>
</>
</target>
<!--6,压缩,打包-->
<targetname="war"depends="compile"description="======compress j2ee war file======">
<wardestfile="${war.file}"we www.hbbz08.com bxml="${project_root}/WEB-INF/web.xml">
<filesetdir="${project_root}"/>
<classesdir="${project_class}"/>
<libdir="${project_lib}"/>
</war>
</target>
<!--7,把项目war包复制到tomcat/webapps-->
<targetname="deploy"depends="war">
<file="${war.file}"todir="${tomcat_home}/webapps"/>
</target>
<!--8,启动tomcat-->
<targetname="startuptomcat"description="========startuptomcat===========">
<sleepseconds="5"/>
<execexecutable="${tomcat_home}/bin/startup.bat"failonerror="false"></exec>
</target>
</project>
2,新建build.properties文件,复制如下代码
ant_home=D:/apache-ant-1.9.4
ant_lib=${ant.home}/lib
tomcat_home=D:/apache-tomcat2014
tomcat_lib=${tomcat_home}/lib
//svn下载的文件存在放以项目名新建的文件夹下
project_space=${ant.project.name}
//项目的根路径
project_root=${project_space}/WebRoot
project_lib=${project_root}/WEB-INF/lib
project_class=${project_root}/WEB-INF/classes
war.file=${project_space}/${ant.project.name}.war
svn.url=https://2003server:8443/svn/saepprj/SAEP_APP
svn.username=zy
svn.password=123
这里需要配置的就三个地方,一个是ant的安装路径 ant_home
一个是tomcat的安装路径 tomcat_home
再就是svn的信息
其他基本不用动
三,执行脚本,例子:
d盘下新建了个一个project文件夹,将build.xml和build.properties放在project文件夹下
进入命令行模式
d:
cd project
ant auto
❹ ant 命令和传递参数
示例:
执行Ant命令时,可以通过-D参数携带参数,传递到执行的XML文件中。
在build.xml中定义参数,类似:
调用shell脚本,并携带两个参数:
此处功能调用相当于:sh test.sh $param1 $param2 。这里的arg里还可以写成是<arg line=" ${build.param1} ${build.param2} "/> ,说明value和line的区别是,value表示作为1个参数,line表示用空格分开的多个参数。
在test.sh中打印参数,结果为命令中的数值。
搞定!
❺ 接口自动化测试环境搭建jmeter+ant+git+jenkins
1、安装java
方式一:安装java环境:yum install java-1.8.0-openjdk* -y
使用命令检查是否安装成功 java -version
到此安装结束了。这样安装有一个好处就是不需要对path进行设置,自动就设置好了。jdk安装在/usr/lib/jvm目录下
方式二:先下载对应版本到本地,然后解压缩,配置环境变量(详细步骤网络即可)
2、安装jmeter
(1)登录自己服务器,在usr/local下创建文件夹jmeter,命令mkdir jmeter
(2)通过官网下载jmeter到本地
(3)通过xhell上传到对应的目录(cd到要上传的目录)
(4)yum -y install lrzsz(安装了lrzsz,执行该命令是因为服务器有的文件不让上传。让上传就不用执行)
(5)使用 rz -y命令进行文件上传,此时会弹出上传的窗口,进行上传即可
(6)上传成功之后进行解压 unzip apache-jmeter-5.4.zip
(7)配置环境变量vi /etc/profile
esc+shift # 键盘同时按住,退出编辑模式
:wq # 保存退出
:q # 不保存退出
添加如下内容:
# set Jmeter enviroment
export JMETER_HOME=/usr/local/jmeter/apache-jmeter-5.4
export PATH=${PATH}:${JMETER_HOME}/bin
(8)source /etc/profile # 使配置文件生效
(9)jmeter -version
3、安装ant
(1)在usr/local下创建文件夹ant,命令mkdir ant
(2)通过官网下载ant到本地
(3)使用 rz -y命令进行文件上传,此时会弹出上传的窗口,进行上传即可 sz 文件名(服务器文件下载到本地)
(4)上传成功之后进行解压 unzip
(5)配置环境变量vi /etc/profile
# set Ant enviroment
export ANT_HOME=/usr/local/ant/apache-ant-1.10.10
export PATH=${PATH}:${ANT_HOME}/bin
(6)source /etc/profile # 使配置文件生效
(7)ant -version
4、ant的配置
(1)将jmeter安装包extras文件夹里ant-jemter-1.1.1.jar 复制到antlib下
cp ant-jmeter-1.1.1.jar /usr/local/ant/apache-ant-1.10.10/lib
(2)进入apache-jmeter-3.0extras运行ant ,查看该目录下是否出现Test.jtl、Test.html文件,若有,则构建成功
5、编写Ant的build.xml文件
(1)创建Jmeter_Test目录,放在/usr/local/下
(2)Jmeter_Test目录下创建build.xml、ResultLog(html,jtl)、Script(放脚本)
(3)build.xml文件内容去https://www.cnblogs.com/L-Test/p/9736808.html下复制,需要修改里边的路径
6、jenkins安装
(1)Jenkins下载地址:https://jenkins.io/download/
(2)下载的是jenkins.war
(3)在Linux下启动Jenkins有两种方式,一种是在jenkins.war的存放目录下使用命令java -jar jenkins.war启动,
另外一种是把jenkins.war放在tomcat的webapps目录下,然后启动tomcat就可以了(本次用的第一种)
(4)在浏览器中输入http://服务器ip:8080/jenkins/
如果是用的阿里云服务器,启动成功之后,在浏览器访问,无法访问。解决办法就是登陆阿里云服务器修改一下安全规则,把端口范围调大
(5)访问成功之后输入管理员密码
(6)安装推荐的插件,创建管理员用户
7、jenkins的其他配置
(1)修改为中文依赖的三个插件localization-zh-cn、locale、localization-support
jenkins插件下载地址https://blog.csdn.net/qq_39530199/article/details/90266654
(2)不知道依赖于那个插件,可以看看manage Jenkins里边的报错 plugin is missing
8、git的安装
(1)git下载地址:https://mirrors.edge.kernel.org/pub/software/scm/git/
(2)usr/local下新建git目录,cd到git,安装包上传上来, tar -zxvf v2.17.0.tar.gz
(3)安装编译源码所需依赖,命令为: yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl- ExtUtils-MakeMaker 耐心等待安装,出现提示输入y即可;
(4)安装依赖时,yum自动安装了Git,需要卸载旧版本Git,命令为: yum remove git 出现提示输入y即可;
(5)进入解压后的文件夹,命令 cd git-2.17.0 ,然后执行编译,命令为 make prefix=/usr/local/git all 耐心等待编译即可;
(6)安装Git至/usr/local/git路径,命令为 make prefix=/usr/local/git install ;
(7)打开环境变量配置文件,命令 vim /etc/profile ,在底部加上Git相关配置信息
# set Git enviroment
export GIT_HOME=/usr/local/git
export PATH=$GIT_HOME/bin:$PATH
(8)git version
9、jenkins安装相应插件
(1)安装源码管理选择git需要的插件git、git-server、git-client、github-api、plain-credentials、github
上传插件的时候可能会报错,可以把插件上传顺序改一下在上传
(2) jenkins设置git的安装路径,点击全局工具配置/usr/local/git/bin/git(whereis git 命令可查看)
(3)windows本地安装git,把代码推送到github(需要在github创建一个仓库),参考自动化测试的 《
(4)jenkins配置源码管理选择git,地址输入github项目地址,账号可以先在jenkins凭据配置中添加github账号
输地址或账号的时候可能会报403的错误。解决办法刷新一下或者 在Configure Global Security中开启 启用代理兼容
(5)配置完源码管理,直接进行构建,代码自动下载到/root/.jenkins/workspace/git/路径下
10、接下来需要把build.xml中脚本路径改为/root/.jenkins/workspace/git/进行构建,可以在Github里提交一个jmx文件构建一下试试
❻ 用ant将程序编译和运行,都要做什么工作
ant是apache项目组的一个子项目,是一个基于java的构建工具。ant本身用java实现,要构建的工程的配置文件用xml格式描述,可以很方便的实现跨平台构建工作。
ant 可以从http://ant.apache.org下载,目前最新版本为1.5.4。下载完毕后直接解压缩到一个目录,例如D:\ant。
下一步我们需要设置如下的环境变量:
ANT_HOME:ant的安装目录,如果按上面方法解压缩了ant,那么这个值应该设为D:\ant
JAVA_HOME:jdk的安装目录
PATH:把%ANT_HOME%\bin目录加到path变量,以便于从命令行直接运行ant。
(1)建立build.xml
用ant编译规模较大的工程非常方便,每个工程都对应一个build.xml文件,这个文件包含与这个工程有关的路径信息和构建任务。
下面是一个最简单的build.xml文件:
<?xml version="1.0" encoding="ISO-8859-1"?>
<project name="projectTemplate" default="init" basedir=".">
<target name="init" >
<property name="lib.dir" value="lib"/>
<echo message="Hello ,lib.dir is set to ${lib.dir}" >
</echo>
</target>
</project>
每个build.xml有且仅有一个project,每个project下面可以包含多个target,每个target表示一个小的任务,每个任务负责执行一段脚本。ant有内置任务集可供使用,例如上面的echo就是在console上显示消息。
更详细的内置任务请参考http://ant.apache.org/manual/coretasklist.html
${lib.dir}表示引用一个名字叫做lib.dir的属性值,这个属性的值就是lib。
(2)运行ant
使用ant.bat可以直接运行ant,如果不带任何参数,ant会在当前路径下搜索build.xml文件,如果找到了这个文件,就运行project的default属性指定的target.我们也可以带参数来运行ant,以便选择build.xml文件和要运行的target:
ant -buildfile c:\demo\build.xml init
表示运行c:\demo\build.xml 中名字为init的target
(3)ant的目标依赖
target有一个属性depends,在其中可以指定一系列的target名字,表示在执行该target前,必须首先执行的一系列其它target。depends具有传递性,例如:targetA depends targetB,而targetB depends targetC和targetD,这样在执行targetA之前,首先执行C和D,然后执行B,最后才会执行A。
下面是个简单的例子,在执行编译的动作前,首先需要建立一个目标代码存放的目录,然后再执行编译。
<?xml version="1.0" encoding="ISO-8859-1"?>
<project name="project" default="init" basedir=".">
<target name="init" >
<property name="dist" value="dist"/>
<mkdir dir="${dist}" />
</target>
<target name="build" depends="init">
<javac srcdir="SourceCode" destdir="${dist}">
</javac>
</target>
</project>
❼ JAVA中ant脚本是什么东西
内容摘要:
ANT是一个基于Java的自动化脚本引擎,脚本格式为XML。除了做Java编译相关任务外,ANT还可以通过插件实现很多应用的调用。
1)ANT的基本概念:
2)ANT的安装:解包,设置路径
3)ANT的使用:最好的学习只不过是一个简单实用的例子起步……
ANT的基本概念:Java的Makefile
当一个代码项目大了以后,每次重新编译,打包,测试等都会变得非常复杂而且重复,因此c语言中有make脚本来帮助这些工作的批量完成。在Java中应用是平台无关性的,当然不会用平台相关的make脚本来完成这些批处理任务了,ANT本身就是这样一个流程脚本引擎,用于自动化调用程序完成项目的编译,打包,测试等。除了基于JAVA是平台无关的外,脚本的格式是基于XML的,比make脚本来说还要好维护一些。
每个ant脚本(缺省叫build.xml)中设置了一系列任务(target):比如对于一个一般的项目可能需要有以下任务。
任务1:usage 打印本脚本的帮助信息(缺省)
任务2:clean <-- init 清空初始化环境
任务3:javadoc <-- build <-- init 生成JAVADOC
任务4:jar <-- build <-- init 生成JAR
任务5:all <-- jar + javadoc <-- build <-- init 完成以上所有任务:jar javadoc
而多个任务之间往往又包含了一定了依赖关系:比如把整个应用打包任务(jar)的这个依赖于编译任务(build),而编译任务又依赖于整个环境初始化任务(init)等。
注:我看到很多项目的ant脚本中的命名基本上都是一致的,比如:编译一般叫build或者compile;打包一般叫jar或war;生成文档一般命名为javadoc或javadocs;执行全部任务all。在每个任务的中,ANT会根据配置调用一些外部应用并配以相应参数执行。虽然ANT可调用的外部应用种类非常丰富,但其实最常用的就2,3个:比如javac javadoc jar等。
ANT的安装
解包后在系统可执行路径中加入指向ant的bin的路径就可以了,比如可以在GNU/Linux上把以下配置加入/etc/profile中:
export ANT_HOME=/home/ant
export JAVA_HOME=/usr/java/j2sdk1.4.1
export PATH=$PATH:$JAVA_HOME/bin:$ANT_HOME/bin
这样执行ant 后,如果不指定配置文件ant会缺省找build.xml这个配置文件,并根据配置文件执行任务,缺省的任务设置可以指向最常用的任务,比如:build,或指向打印帮助信息:usage,告诉用户有那些脚本选项可以使用。
ANT的使用
最好的学习过程就是看懂那些open source项目中的build.xml脚本,然后根据自己的需要简化成一个更简单的,ANT和APACHE上很多非常工程派的项目:简单易用,而且适应性非常强,因为这些项目的建立往往来源于开发人员日常最直接的需求。