Как создать пустой файл JAR, который ссылается на другие банки в classpath - PullRequest
3 голосов
/ 19 августа 2010

HI,

У меня есть большое количество jar-файлов, от которых зависит мое j2ee-приложение, поэтому я хочу создать один jar-файл с атрибутом manifest, ссылающимся на эти jar-файлы в classpath.Затем я поместу этот файл в директорию libfish glassfish, чтобы упомянутые банки стали в classpath для приложения.

Единственная проблема в том, что я не знаю, как создать этот единственный файл jar.

Предложения?

привет

Ответы [ 2 ]

0 голосов
/ 29 ноября 2012

То, что вы описываете, должно работать нормально. Когда загружен jar-файл, имеющий запись Class-Path в своем файле manifest.mf, все ссылочные jar-файлы будут добавлены в путь к классам. Если вы используете maven, у них есть очень простой способ добавить classpath к сгенерированному манифесту jar.

Все зависимости проекта maven будут добавлены в запись Class-Path.

Добавление classpath через maven.

Если вы решите использовать jar-программу, вы можете смоделировать манифест из примера по приведенной выше ссылке.

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Built-By: ${user.name}
Build-Jdk: ${java.version}
Class-Path: plexus-utils-1.1.jar commons-lang-2.1.jar
0 голосов
/ 19 августа 2010

В программе jar (используемой для создания jar) есть запись -m, используемая для указания файла манифеста.

В этом файле манифеста вы можете указать расположение других jar-файлов с атрибутом Class-Path.

Смотрите здесь: http://download.oracle.com/javase/1.3/docs/guide/jar/jar.html

Лично я не пробовал этого, поэтому я не знаю, насколько успешным это будет.

Возможно, вы захотите просто создать большой jar-файл, содержащий все ваши другие jar-файлы, если вас это беспокоит. Я не знаю, рекомендую ли я это решение.

...