ant脚本实现jenkins一键打包javaweb项目

1.在myeclipse中ant脚本打包成功后部署可以正常访问,在jenkins中打包后部署无法正常访问,一样的ant脚本,启动tomcat后报错缺少配置文件,对比两个war包发现jenkins打的war中classes文件夹下面没有src下的配置文件,手动增加ant脚本拷贝所有配置文件的文件夹到classes文件夹中问题解决,



2.jenkins编译失败,开发eclipse可以编译通过

将ant编译方式改为eclipse的jdt编译方式

 <!--  编译 java 文件,编译到 dist.classes 下 -->  
        <target name="compile" depends="init">  
            <echo message=" ======  编译源代码 复制到 dist.classes 目录 ======" />  
             <!-- <javac encoding="utf-8" srcdir="${src.dir}" destdir="${dist.classes.dir}" debug="true" deprecation="false" optimize="true" failonerror="true" source="1.7" target="1.7">  
                <classpath refid="classpath" />  
            </javac>  -->  
           
    <!-- 格式 二  <javac  srcdir="${src.dir} "  destdir="${build.classes.dir}" classpathref="classpath" />  -->  
    
    <!--  使用eclipse JDT 编译 class  ant是使用javac编译程序 eclipse是使用jdt编译 将eclipse中便宜相关的jar包添加到ant/lib中使用jdt编译  fork="true"   memoryMaximumSize="512m"-->
    
    <javac compiler="org.eclipse.jdt.core.JDTCompilerAdapter"  nowarn="false" debug="true" debuglevel="source,lines,vars"  srcdir="${src.dir}" destdir="${dist.classes.dir}" source="1.8" target="1.8" encoding="utf-8"   includeantruntime="false" >
          <classpath refid="classpath" />  
                </javac>
            
           
    
    <!--jdt编译格式二
    <property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
     <javac nowarn="false" debug="true" debuglevel="source,lines,vars" destdir="${dist.path}/classes" source="1.6" target="1.6" encoding="utf-8" fork="true" memoryMaximumSize="512m" includeantruntime="false">
     -->
      

    <!-- 拷贝src下除了java源文件之外的文件到classes文件夹下面-->  
        <copy todir="${webcontent.webinf.dir}/classes">
            <fileset dir="${basedir}/src">
                <exclude name="**/.svn"/>
                   <exclude name="**/*.java"/>
            </fileset>   
        </copy>


            <echo message=" ======  将重新编译的classes文件复制到classes目录下 ======" />  
            <copy todir="${webcontent.webinf.dir}/classes">  
                <fileset dir="${dist.classes.dir}">  
                   <!-- <exclude name="**/*Test*.*" />-->  
                </fileset>  
            </copy>  
              
        </target> 

3.编译失败报编码错误

开发直接从别处拷贝过来的代码,jenkins编译不过,eclipse可以编译通过,jenkins编译报编码错误,让开发修改了java的编码后编译通过




猜你喜欢

转载自blog.csdn.net/t20423187/article/details/79111234