2010-04-27 36 views

回答

20

當然,這是完全可能的。 Ant Jar task可以執行任何jar命令行可以執行的操作。您可以將update標誌設置爲true而不是false。

<jar destfile="/x/y/z/file.jar" 
     basedir="https://stackoverflow.com/a/b/c/" 
     update="true" 
    /> 

其中目標jar已經存在於該路徑。

編輯:要設置的路徑

<jar destfile="/x/y/z/file.jar" 
     update="true"> 
     <zipfileset dir="https://stackoverflow.com/a/b/c"/ prefix="x/y/z" /> 
    </jar> 
+0

如何進行更新操作的工作?具體來說,如果我在a/b/c/*中設置了一個我想添加到jar文件x/y/z/*中的文件,那麼這是可能的嗎? – predhme 2010-04-27 14:48:19

+0

是的,這絕對有可能。記住 - jar只是一個專門的zip(真實的)。如果你看看Ant壓縮任務,zip甚至有一個更新示例。所以,如果你想象我的例子中的「filesToAdd」是/ a/b/c *並且destfile是x/y/z/file.jar,那麼你應該能夠使它工作。不要相信我?將x/y/z/file.jar複製到某個地方,並使用測試螞蟻腳本嘗試它並檢查我的工作:)。 – justkt 2010-04-27 14:53:25

+0

澄清。假設我的原始jar文件中有一個x/y/z的文件結構。我在a/b/c中有一些我想要添加到z中的其他文件。更新是否將簡單地將a/b/c添加到原始jar文件中。或者我可以指定添加時使用的文件路徑嗎? – predhme 2010-04-27 15:01:35

8

如果您將update設置爲true,您應該可以使用Jar Task執行此操作。

<jar update="true" jarfile="${jarfile}" > 
    <!-- ... --> 
</jar> 
相關問題