2009-09-29 2 views
7

Привет Я создал приложение Java, которое зависит от некоторых внешних банок. Теперь я хочу создать исполняемый банку для моего проекта. Значит, если я дважды щелкнул по проекту, то он должен выполнить.Как создать исполняемую банку с баночками зависимости

Благодаря Сунил Кумар Sahoo

ответ

5

Вы можете сделать это легко с помощью Ant:

<jar jarfile="MyJar.jar" basedir="bin"> 
    <manifest> 
    <attribute name="Class-Path" value="lib/lib1.jar lib/lib2.jar lib/lib3.jar"/> 
    <attribute name="Built-By" value="me"/> 
    <attribute name="Main-Class" value="mypackage.Myclass"/> 
    </manifest> 
</jar> 

Это добавит все необходимые записи в файл манифеста. Для того, чтобы иметь возможность запустить банку, необходимо также создать Lib папку и поместить все банки зависимостями там:

myjar.jar 
lib/lib1.jar 
lib/lib2.jar 
lib/lib3.jar 
+0

Порядок атрибутов, по-видимому, имеет значение. Путь класса должен появиться до Main-Class. – dacracot

0

Посмотрите на использование упаковочного инструмента, как IzPack или инструмента обертки, такие как JSmooth

1

Вам нужно будет добавить файл MANIFEST.MF в JAR для вашего приложения, (в каталоге META-INF - если вы используете инструмент командной строки «jar», он убедится, что файл окажется в нужном месте). Он должен будет содержать два атрибута (по крайней мере):

  • Main-Class: [полное имя класса в вашем приложении, которое имеет основной метод]
  • Class-Path: [список зависимостей JAR для вашего приложения]

Более подробную информацию о файлах манифеста в JAR-файлы можно найти здесь: http://java.sun.com/docs/books/tutorial/deployment/jar/manifestindex.html

Если вы используете инструмент сборки, как Apache Maven вы можете обнаружить, что он способен генерировать этот для тебя.

0

Если вы используете Maven сборки плагин будет делать это для вас очень просто: http://maven.apache.org/plugins/maven-assembly-plugin/howto.html

В противном случае вы должны будете следовать инструкциям в JAR файл учебника: http://java.sun.com/docs/books/tutorial/deployment/jar/index.html и создание файла манифеста, включая вашего основного класса, как Main-Class: [classname] и перечисление внешних банок как Class-Path: theirJar1 theirJar2 и т. Д.

1

Вы хотите установить атрибут Class-Path в файле манифеста JAR.

This page должен дать вам хорошую отправную точку.

2

Использование Eclipse плагин под названием «FatJar»

это обновление сайтов

http://kurucz-grafika.de/fatjar

Просто щелкните правой кнопкой мыши на проекте и использовать FatJar вариант, следующий шаг позволит вам выбрать, какие библиотеки будут включены в * .jar

Смежные вопросы