2016-04-26 48 views
0
我無法添加索引信息運行的JAR

,它總是給我下面的(誤導)錯誤:爲可運行jar生成索引信息?

jar i mainapp.jar 
java.io.FileNotFoundException: . (Access is denied) 
     at java.util.zip.ZipFile.open(Native Method) 
     at java.util.zip.ZipFile.<init>(ZipFile.java:214) 
     at java.util.zip.ZipFile.<init>(ZipFile.java:144) 
     at java.util.jar.JarFile.<init>(JarFile.java:153) 
     at java.util.jar.JarFile.<init>(JarFile.java:90) 
     at sun.tools.jar.Main.getJarPath(Main.java:1052) 
     at sun.tools.jar.Main.getJarPath(Main.java:1068) 
     at sun.tools.jar.Main.genIndex(Main.java:1084) 
     at sun.tools.jar.Main.run(Main.java:269) 
     at sun.tools.jar.Main.main(Main.java:1177) 

(在文件中不存在的文件鎖)

我用eclipse開普勒(無法升級此項目)來生成可運行jar。該罐子啓動並運行沒有問題。

現在由於外部需求(不要問;-))我要的索引信息添加到我運行的JAR,所以我呼籲:

jar i mainapp.jar 

我:

-i generate index information for the specified jar files 

的jar命令打印上面的異常。當我從eclipse中導出一個普通的jar時,jar -i命令可以工作,並且一個INDEX.LIST被添加到jar中的META-INF文件夾中。

難道不可能爲可運行jar生成索引信息嗎?

(請注意,我需要生成與日食開普勒的運行的JAR我不能切換/升級的IDE或構建系統,但我可以做我想做的事情與生成JAR)

回答

0

回答我自己問題:

我最終從eclipse導出正常的jar,用'jar'生成索引信息並手動將可運行信息添加到jar清單。