Создать файл jar из командной строки

у меня есть следующая иерархия каталогов :

SigarTest
 src
    SigarTest
     .java files
 bin
    SigarTest
     .class files

здесь SigarTest-это имя пакета. Корневая папка находится в папке bin jdk. Оттуда я запускаю следующую команду, чтобы создать файл jar моего проекта -

./jar cfe temp.jar SigarTest.SigarMain SigarTest/bin/ tools.jar sigar.jar mongo-2.7.3.jar

где инструменты.банку, монго-2.7.3.фляга и сигар.jar необходимы и находятся в той же папке, что и корневой каталог (папка bin jdk). Однако, запустив его, я получаю

ClassNotFoundException : SigarTest.SigarMain

что я делаю не так ?

1 ответов


использовать -C dir опции, который

временно изменяет каталоги (cd dir) во время исполнения jar команда при обработке следующего inputfiles:

$ rm -rf temp.jar
$ jar cfe temp.jar SigarTest.SigarMain -C SigarTest/bin/ . tools.jar sigar.jar mongo-2.7.3.jar
$ jar tf temp.jar
META-INF/
META-INF/MANIFEST.MF
SigarTest/
SigarTest/SigarMain.class
tools.jar
sigar.jar
mongo-2.7.3.jar
$ java -jar temp.jar

SigarMain находится в правильном пакете и выполняет temp.jar не бросает ClassNotFoundException.