當我嘗試使用javac任務進行編譯時。我在控制檯中沒有任何東西。以前,我得到了一些關於我在編譯的內容的信息,例如[javac]「....」使用javac編譯時出現問題
當我清理並重新編譯它的工作,我可以看到輸出,但是當我編譯時出現問題再次。
再次,此問題以前不存在。這個問題使得tomcat抱怨.war文件它說「ZipException:超額訂閱文字/長度樹」
任何人都可以指導我解決這個問題嗎?
編輯:這裏是ant腳本
<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>
請注意相關的部分:那是在同一個文件工作得很好以前。現在沒有改變項目內的任何東西,它不起作用
請注意:我已經在工作,我已經存檔它的項目。它正在編譯完美,我甚至將檔案文件交給了一些人,並與他們合作。然後,我做了一些修改,直到我得到了ZipException。 之後,我保留修改,並使用舊的歸檔文件工作,我仍然得到相同的錯誤ZipException。所以,這個問題肯定不是源代碼或者ant腳本。我相信這是我的環境中的問題,但我無法弄清楚出了什麼問題。
build.xml文件是如下:
<?xml version="1.0"?>
<!DOCTYPE project>
<project name="GameServerPart1" basedir="." default="usage">
<property file="../build.properties" />
<property name="src.dir" value="src/main/java" />
<property name="web.dir" value="war" />
<property name="build.dir" value="${web.dir}/WEB-INF/classes" />
<property name="name" value="GameServerPart1" />
<path id="master-classpath">
<fileset dir="src/main/webapp/WEB-INF/lib">
<include name="*.jar" />
</fileset>
<!-- We need the servlet API classes: -->
<!-- * for Tomcat 5/6 use servlet-api.jar -->
<!-- * for other app servers - check the docs -->
<!--<fileset dir="${appserver.lib}">
<include name="servlet*.jar"/>
</fileset> -->
<pathelement path="${build.dir}" />
</path>
<target name="usage">
<echo message="" />
<echo message="${name} build file" />
<echo message="-----------------------------------" />
<echo message="" />
<echo message="Available targets are:" />
<echo message="" />
<echo message="build --> Build the application" />
<echo message="deploy --> Deploy application as directory" />
<echo message="deploywar --> Deploy application as a WAR file" />
<echo message="cleanr --> clean the build." />
<echo message="" />
</target>
<target name="clean">
<delete dir="${web.dir}" />
</target>
<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>
<move todir="${deploy.path}" preservelastmodified="true">
<fileset dir=".">
<include name="*.war" />
</fileset>
</move>
</target>
</project>
您使用ANT嗎?你的ANT腳本是什麼?細節數量不夠 –
與tomcat有什麼關係?試試'ant -d' –
我剛剛添加了所有的信息。其實,這是我將應用程序部署到tomcat的目標,以及我如何調查發生的事情。順便說一句,什麼-D會做什麼? – mohamede1945