2013-04-02 83 views
0

我有一個名爲test1.java與simplle你好世界消息的Java文件。問題與Ant構建文件

我對創造的jar文件作爲FOLL Ant構建腳本:

<?xml version="1.0" ?> 
<project name="test1" default="main"> 

<target name="main" depends="compile, compress"> 
<echo> 
    Building the .jar file 
</echo> 
</target> 

<target name="compile"> 
    <javac srcdir="." includeantruntime="false"/> 
</target> 

<target name="compress"> 
    <jar jarfile="proj.jar" basedir="." includes="*.class"> 
      <manifest> 
       <attribute name="Main-Class" value="test1"/> 
      </manifest> 
     </jar> 

</target> 


</project> 

文件編譯成功,並創建一個半掩的文件。

但是當我嘗試執行作爲java -jar proj.jar我收到FOLL錯誤的jar: 無效或損壞的jar文件proj.jar

我怎樣才能解決這個問題。

清單文件的內容有FOLL:

Manifest-Version: 1.0 
Ant-Version: Apache Ant 1.9.0 
Created-By: pap64dev-20071008 (SR6) (IBM Corporation) 
Main-Class: test1 
+0

如果我unjar創建的jar我看到名爲test1.class的類文件 –

+0

是在您的類聲明的包?你能展示你的班級內容嗎? – kgautron

+0

不,我沒有包聲明。它只是一個簡單的java類 –

回答

0

我建議把「壓縮」任務依賴於「編譯」的任務,因爲如果實行「壓縮」第一次就沒有一流的文件打包。

你也確定你的主類的名字真的是「test1」(按照慣例,類名應該以大寫字母開頭)。

+0

我添加了依賴於壓縮任務。並且在ant任務結束後,我看到生成的類是'test1.class' –

+0

好的,那麼在運行jar時仍然會遇到同樣的問題? – kgautron

+0

是的我有同樣的問題 –

1

通過降級到Ant 1.8.4來解決它。螞蟻1.9似乎不適用於Java 5