2011-10-24 85 views
1

我試圖用插件2.1.3版本和運行這個錯誤某些原因運行Maven的Ant任務:Maven的Ant任務試圖打開POM如ZIP和失敗

[javac] Compiling 101 source files to /home/raido/Workspace2/foobar/classes 
[javac] error: error reading /home/raido/.m2/repository/foobar/1.0/foobar-1.0.pom; error in opening zip file 
[javac] 1 error 

爲什麼試圖閱讀一個XML文件作爲一個zip文件,我該如何避免這種情況?該文件本身非常好,可讀性強。

那部分從build.xml文件:

<target name="compile" depends="init"> 
    <mkdir dir="${build.dir}" /> 
    <mkdir dir="${classes.dir}" /> 
    <javac classpathref="compile.dependency.path" debug="on" 
     encoding="UTF-8" 
     deprecation="on" destdir="${classes.dir}" 
     includes="bar/**/*.java" optimize="off" 
     srcdir="${src.dir}" /> 
</target> 

錯誤是有針對性地關閉標誌>srcdir行即整個標籤。

+0

解決了它,但由於代表性低而無法回答。 – Raidok

+1

這是什麼? :) – carlspring

+0

在下面添加我的答案。感謝您的支持! – Raidok

回答

1

我終於明白了。問題在於主要的ant文件有一個特定的任務生成了模塊的JAR-s,但我沒有做到。這顯示了文檔有時對於這個項目根本沒有什麼重要性!

3

它可能是損壞的zip。您可以從您的maven回收站中刪除foobar/1.0/目錄,並讓maven download新的新版本

+0

這是一個自定義的POM文件,不在我的本地版本庫中,但是我將它上傳到遠程位置,然後讓Maven下載它。但是,你的意思是_corrupt zip_?這只是一個普通的文件夾,其中包含一個XML文件。 – Raidok

+0

可能是你可以簡單地複製和粘貼POM和jar和其他文件到你的本地maven倉庫快速修復 –

+0

這爲我解決了它。 –

1

向我們顯示您的定義compile.dependency.path。似乎這種模式並不完全正確,並且允許.pom文件(例如,如果它是**/**),這顯然不起作用。