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上很多非常工程派的項目:簡單易用,而且適應性非常強,因為這些項目的建立往往來源於開發人員日常最直接的需求。