当我对一个spring mvc项目进行战争时,war文件无法使用ZipException以超额订阅的文字/长度树部署到tomcat。我发现当我在WEB-INF / LIB / * .jar中打开所有文件时,当我尝试使用winrar打开它时,我得到了“意外的归档文件”
我有2个像这样的蚂蚁目标
<target name="build" description="Compile main source tree java files">
<mkdir dir="${build.dir}" />
<copy todir="${web.dir}/WEB-INF/">
<fileset dir="src/main/webapp/WEB-INF/">
<include name="**/*.*" />
</fileset>
<filterchain>
<striplinecomments>
<comment value="!" />
</striplinecomments>
<replacetokens>
<token key="hibernate.connection.url" value="${hibernate.connection.url}" />
<token key="hibernate.connection.username" value="${hibernate.connection.username}" />
<token key="hibernate.connection.password" value="${hibernate.connection.password}" />
<token key="fontFamily" value="arial, helvetica, sans-serif" />
</replacetokens>
</filterchain>
</copy>
<copy todir="${build.dir}">
<fileset dir="src/main/resources">
<include name="**/*.*" />
</fileset>
<filterchain>
<striplinecomments>
<comment value="!" />
</striplinecomments>
<replacetokens>
<token key="hibernate.connection.url" value="${hibernate.connection.url}" />
<token key="hibernate.connection.username" value="${hibernate.connection.username}" />
<token key="hibernate.connection.password" value="${hibernate.connection.password}" />
<token key="fontFamily" value="arial, helvetica, sans-serif" />
</replacetokens>
</filterchain>
</copy>
<javac destdir="${build.dir}" source="1.6" target="1.6" debug="true" deprecation="false" optimize="false" failonerror="true">
<src path="${src.dir}" />
<classpath refid="master-classpath" />
</javac>
</target>
<target name="deploywar" depends="build" description="Deploy application as a WAR file">
<war destfile="${name}.war" webxml="${web.dir}/WEB-INF/web.xml">
<fileset dir="${web.dir}">
<include name="**/*.*" />
</fileset>
</war>
<copy todir="${deploy.path}" preservelastmodified="true">
<fileset dir=".">
<include name="*.war" />
</fileset>
</copy>
我现在发现了复制目标中的问题,当它将* .jar文件复制到外部文件夹时,它们会被破坏。
答案 0 :(得分:0)
我发现了问题。
<copy todir="${web.dir}/WEB-INF/">
<fileset dir="src/main/webapp/WEB-INF/">
<include name="**/*.*" />
</fileset>
<filterchain>
<striplinecomments>
<comment value="!" />
</striplinecomments>
<replacetokens>
<token key="hibernate.connection.url" value="${hibernate.connection.url}" />
<token key="hibernate.connection.username" value="${hibernate.connection.username}" />
<token key="hibernate.connection.password" value="${hibernate.connection.password}" />
<token key="fontFamily" value="arial, helvetica, sans-serif" />
</replacetokens>
</filterchain>
</copy>
应该是
<copy todir="${web.dir}/WEB-INF/">
<fileset dir="src/main/webapp/WEB-INF/">
<include name="**/*.*" />
</fileset>
</copy>