2013-03-30 2 views
0

Я работаю над библиотекой, которая имеет свои собственные зависимости от библиотеки, от которых я хочу отвлечься. Я бегу в проблемы после экспорта моего проекта в банке, который имеет структуру:Java | Библиотека библиотеки библиотеки

Foo.jar 
    -> net 
     -> foo 
      -> java class files 
    -> lib 
     -> *.jar 
    -> src 
     -> foo 
      -> java source files 
    -> doc 
     -> javadoc and other docs 
    -> License.txt 

Когда я иду, чтобы проверить свою библиотеку, я могу легко импортировать мой код библиотеки из net.foo.*, но получить исключения, когда я бегу из-за «нет подходящего драйвера для ...» и других, зависящих от внутренней библиотеки, вызываемой из моего уровня абстракции.

Я использую ANT, чтобы построить свою банку, но не уверен, что делать. В идеале пользователь просто добавит мою банку в свой путь сборки, а затем импортирует мои пакеты.

ответ

1

Вы отправляете библиотеку с множеством зависимостей. Пользователи библиотеки могут добавлять библиотеки зависимостей. Если я правильно понял, вы хотите сделать его простым для пользователя, включив банки зависимости, являются частью вашей библиотеки. Вы можете объединить несколько банок в одну банку, используя JarJar.

С сайта ..

Jar Jar ссылки это утилита, которая позволяет легко упаковать Java библиотеки и вставлять их в свой собственный дистрибутив. Это полезно по двум причинам:

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

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

Если речь идет о переупаковке для исполняемого фляга, тогда найдите One-Jar. Обсуждается здесь в Easiest way to merge a release into one JAR file

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