Ant整合svnant(三)

3、构建模板示例三(ant整合svnant)

实现ant可以从svn服务器上检出代码要使用svnant jar文件。

从网上下载svnant 包,下载地址:

http://subclipse.tigris.org/files/documents/906/49042/svnant-1.3.1.zip

将下载好的svnant 解压将 lib目录下的所有jar复制到ant主目录中的 lib目录下。

build.properties文件:

 1 #svn信息
 2 svn.UserName=zhangwj
 3 svn.UserPassword=zhangwj123
 4 #工程svn源码目录
 5 svn.URL=svn://116.228.187.195/BSTPRJ/BSTWEBFB/2-SRC/01-Trunk/UCCenter2
 6 #工程svn源码版本号
 7 svn.ver=0.1
 8 
 9 
10 #项目名称
11 name=UCCenter2
12 
13 #tomcat位置
14 tomcat.home=D:\apache-tomcat-6.0.36

build.xml文件:

  1 <?xml version="1.0" encoding="gbk"?>
  2     <project basedir="." default="publish" name="package project">
  3           
  4         <target name="init" >
  5                 <echo message="设置初始化打war包需要的路径变量..."/>  
  6            <!-- <property name="name" value="UCCenter2"/>-->
  7            <property file="build.properties" />
  8             <property name="root" value="."/>
  9                
 10             <property name="src" value="${root}/${name}/src"/>  
 11             <property name="lib" value="${root}/${name}/WebRoot/WEB-INF/lib"/>  
 12             <property name="webapp" value="${root}/${name}/WebRoot"/>  
 13               
 14             <property name="build.dest" value="${root}/AntBuild/${name}"/> 
 15             <property name="build.lib" value="${root}/AntBuild/${name}/WEB-INF/lib"/>  
 16             <property name="build.classes" value="${root}/AntBuild/${name}/WEB-INF/classes"/>
 17                        <property name="build.javadocs" value="${root}/AntBuild/doc"/>  
 18             <property name="jar.dest" value="${root}/AntBuild/jar"/>  
 19             <property name="war.dest" value="${root}/AntBuild/war"/>  
 20               
 21             <!--<property name="tomcat.home" value="D:\apache-tomcat-6.0.36"/> -->
 22             
 23             <!--编译java源文件所需的jar文件 --> 
 24             <path id="classpath">  
 25                 <fileset dir="${lib}">  
 26                     <include name="**/*.jar"/>  
 27                 </fileset>  
 28             </path> 
 29             
 30             <!-- 引用svn task文件,使用svn任务可以使用--> 
 31             <path id="ant.svn.classpath">
 32                             <fileset dir="${ant.home}/lib">
 33                                 <include name="*.jar" />
 34                             </fileset>
 35                         </path>
 36                         <typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpathref="ant.svn.classpath"/> 
 37                         
 38                         <!--  设置svn相关属性  --> 
 39                         <svnSetting id="svn.setting" svnkit="true" username="${svn.UserName}" password="${svn.UserPassword}" javahl="false" /> 
 40                         
 41         </target>  
 42           
 43         <target name="prepare" depends="init"> 
 44                 <echo message="创建打包需要的路径,拷贝源文件到打包路径下..."/>
 45                 <mkdir dir="${build.dest}"/>   
 46             <mkdir dir="${build.lib}"/>
 47             <mkdir dir="${build.classes}"/>
 48             <mkdir dir="${build.javadocs}"/>  
 49             <mkdir dir="${jar.dest}"/>  
 50             <mkdir dir="${war.dest}"/>     
 51         </target> 
 52        
 53         <target name="checkout" depends="prepare">
 54                   <echo message="正在从svn下载文件..."/>
 55                     <svn refid="svn.setting">
 56                         
 57                         <export srcUrl="${svn.URL}" destPath="${root}/${name}" force="true"   />
 58                     </svn> 
 59                     <copy todir="${build.dest}">  
 60              <fileset dir="${webapp}"/>  
 61           </copy>  
 62                 </target> 
 63      
 64         <target name="compile" depends="checkout"> 
 65                 <echo message="编译java文件,拷贝properties属性配置文件到编译后的路径下"/> 
 66             <javac srcdir="${src}" destdir="${build.classes}">  
 67                 <classpath refid="classpath"/>  
 68             </javac>  
 69             <copy todir="${build.classes}">  
 70                 <fileset dir="${src}">  
 71                     <include name="**/*.properties"/>  
 72                 </fileset>  
 73             </copy>  
 74         </target>  
 75         
 76         <target name="antjar" depends="compile">
 77                 <echo message="开始进行打jar包..."/>
 78                         <jar destfile="${jar.dest}/${name}.jar" basedir="${build.classes}" />
 79                 </target>
 80         
 81          <target name="antwar" depends="antjar"> 
 82                  <echo message="开始进行打war包..."/> 
 83             <delete dir="${build.src}"/>
 84             <war warfile="${war.dest}/${name}.war" webxml="${build.dest}/WEB-INF/web.xml">  
 85                 <!--<lib dir="${buildwar.lib}"/>  -->
 86                 <classes dir="${build.classes}"/>  
 87                 <fileset dir="${build.dest}"/>  
 88             </war>  
 89          </target>
 90         
 91          <target name="publish" depends="antwar,clean">  
 92                  <echo message="发布war包至tomcat目录下..."/>
 93             <copy todir="${tomcat.home}/webapps">  
 94                 <fileset dir="${war.dest}">  
 95                     <include name="**/*.war"/>  
 96                 </fileset>  
 97             </copy>  
 98          </target> 
 99          
100          <target name="clean" depends="init">
101                  <echo message="清除打包用临时文件..."/> 
102                 <delete>  
103                     <fileset dir="${build.classes}" includes="**/*.classes"/>  
104                 </delete>  
105                 <delete dir="${build.dest}"/> 
106                 <delete dir="${root}/${name}"/> 
107             </target> 
108             
109             <!--shutdowntomcat-->  
110             <target name="shutdowntomcat">
111                     <echo message="shutdowntomcat..."/>  
112                 <exec executable="${tomcat.home}/bin/shutdown.sh" failοnerrοr="false"></exec>  
113                 <sleep seconds="10"/>  
114             </target>  
115               
116             <!--startuptomcat-->  
117             <target name="startuptomcat">
118                     <echo message="startuptomcat..."/>   
119                 <sleep seconds="5"/>  
120                 <exec executable="${tomcat.home}/bin/startup.sh" failοnerrοr="false"></exec>  
121             </target>   
122          
123     </project>  

进入cmd执行ant

转载于:https://www.cnblogs.com/zhangwenjing/archive/2013/02/19/2917387.html

阅读终点,创作起航,您可以撰写心得或摘录文章要点写篇博文。去创作
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Ant Design Vue三级联动指的是三个或以上级别之间互相关联的组件,用户在选择一个级别的选项后,会有所影响或限制其余级别选项的选择。Ant Design Vue三级联动可以用于层级关系较多的数据筛选等场景。 ### 回答2: Ant Design Vue是一个基于Vue.js开发的UI组件库,在实际的业务需求中,经常会涉及到三级联动这样的功能,Ant Design Vue也提供了相应的组件来完成这个功能。 首先,我们需要准备好需要联动的三个下拉框选项,比如省份、城市、区县。然后,可以使用Ant Design Vue提供的Cascader(级联选择器)组件来完成三级联动的功能。 Cascader组件需要传入一个options数组,这个数组需要包含所有可选的选项,其中每个选项都有一个value和label属性,分别代表选项的值和显示的文本。对于多级联动,每个选项还需要用children属性来表示下一级的选项。 例如,对于省份选项,我们可以这样定义options数组: ```javascript const provinces = [ { value: 'jiangsu', label: '江苏', children: [ { value: 'nanjing', label: '南京', children: [ { value: 'jiangning', label: '江宁区' }, { value: 'xuanwu', label: '玄武区' } ] }, { value: 'suzhou', label: '苏州', children: [ { value: 'wuzhong', label: '吴中区' }, { value: 'gusu', label: '姑苏区' } ] } ] }, { value: 'zhejiang', label: '浙江', children: [ { value: 'hangzhou', label: '杭州', children: [ { value: 'xihu', label: '西湖区' }, { value: 'gongshu', label: '拱墅区' } ] } ] } ] ``` 然后,我们可以在模板中使用Cascader组件,在组件的v-model绑定一个数组,这个数组用来存储用户选择的所有选项的value,也就是最终的联动结果。 ```html <template> <a-cascader :options="provinces" v-model="selectedValues"></a-cascader> </template> ``` 最后,在组件的change事件中,我们可以监听用户的选择操作,并根据选择的值来更新后续的选项。 ```javascript methods: { handleChange (value) { this.selectedValues = value // 取出用户选择的省份、城市、区县的值 const [provinceValue, cityValue, countyValue] = value // 根据省份的值找到对应的省份对象 const province = this.provinces.find(p => p.value === provinceValue) // 根据城市的值找到对应的城市对象 const city = province.children.find(c => c.value === cityValue) // 根据区县的值找到对应的区县对象 const county = city.children.find(c => c.value === countyValue) // 更新显示文本 this.provinceText = province.label this.cityText = city.label this.countyText = county.label } } ``` 通过以上步骤,我们就可以实现Ant Design Vue的三级联动功能了。总的来说,Ant Design Vue提供了丰富的UI组件,这些组件能够帮助开发者快速完成各种常见的前端需求,大大提高了开发效率。 ### 回答3: ant design vue三级联动是一种非常常见的UI交互设计,在用户操作中能够方便地通过选择解决多层级问题。例如,在省市区三级地址选择、车型选择、社交服务选择等使用场景都需要使用到三级联动。 在Vue框架中,可以使用ant design vue提供的Select组件实现三级联动。在使用之前,需要提前将三级数据进行处理,并将处理好的数据传入Select组件的options属性中。 具体实现过程如下: 1.通过axios获取后端提供的三级数据,并在前端对数据进行一定的加工处理。例如,在地址选择的场景中,可以通过将省份、城市、地区数据进行分离,并生成一个二维数组进行存储。 2.将加工后的数据传入ant design vue提供的Select组件的options属性中,以及将默认选中的值传入value属性中,这样就能够在页面中显示出三级联动的选择框。 3.监听Select组件的change事件,根据用户的选择更新相应的省市区数据,从而实现级联的效果。在选择省份时,需要将城市和地区的option选项进行更新;在选择城市时,只需要更新地区的option选项。 4.最后,根据选中的省份、城市和地区生成完整的地址数据,并且将生成的地址数据进行保存或者提交,以完成相应的操作。 总之,实现ant design vue三级联动需要提前处理数据,使用Select组件进行渲染显示,监听change事件,以及根据选中的值更新所需的数据。这样就可以非常方便地实现三级联动的UI交互设计,为用户提供更好的使用体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值