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的编码后编译通过