Я пытаюсь создать простой файл index creation в файле jar. Однако он терпит неудачу с:Добавить индекс в файл jar, ссылаясь на внешний файл jar
$ jar -i /tmp/vtk-dicom/bin/lib/vtkdicom.jar
java.io.FileNotFoundException: /tmp/vtk-dicom/bin/lib/vtk.jar (No such file or directory)
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:215)
at java.util.zip.ZipFile.<init>(ZipFile.java:145)
at java.util.jar.JarFile.<init>(JarFile.java:154)
at java.util.jar.JarFile.<init>(JarFile.java:91)
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)
На очевидном Обходной просто:
$ cp /usr/share/java/vtk.jar /tmp/vtk-dicom/bin/lib/
Однако это некрасиво и подвержен ошибкам. Есть ли другой способ, который я могу сказать jar -i
, где искать другое местоположение vtk.jar
? Мне понадобится портативное решение, которое работает в Windows/Linux/MacOSX.
Для информации манифеста устанавливается на:
$ cat ./Source/java/manifest.txt
Class-Path: vtk.jar
Для информации, если я изменить его на:
$ cat ./Source/java/manifest.txt
Class-Path: /usr/share/java/vtk.jar
Это дает несколько иную ошибку:
$ jar -i /tmp/vtk-dicom/bin/lib/vtkdicom.jar
java.io.FileNotFoundException: /tmp/vtk-dicom/bin/lib/usr/share/java/vtk.jar (No such file or directory)
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:215)
at java.util.zip.ZipFile.<init>(ZipFile.java:145)
at java.util.jar.JarFile.<init>(JarFile.java:154)
at java.util.jar.JarFile.<init>(JarFile.java:91)
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)
Для ссылка:
$ java -version
java version "1.7.0_75"
OpenJDK Runtime Environment (IcedTea 2.5.4) (7u75-2.5.4-2)
OpenJDK 64-Bit Server VM (build 24.75-b04, mixed mode)
Пожалуйста, разместите содержание вашего файла MANIFEST –