2011-07-09 46 views
0

當我彈出一個spring mvc項目時,war文件不能部署到帶有ZipException超額訂閱文字/長度樹的tomcat。我發現,當我在WEB-INF/lib目錄/ *。JAR打開的所有文件,當我嘗試用winrar我得到了「意外的存檔文件」複製任務中的問題

打開他們,我已經2個Ant目標即是這樣的

<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

好,所以看起來你已經有了一個損壞的罐子。 Clean&Build是否解決了這個問題? – fvu

+0

不,它不。 jar文件沒有損壞,但是在我執行戰爭任務後,它變得損壞了。 – mohamede1945

+0

查看我上面的編輯。 – mohamede1945

回答

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>