2013-01-26 2 views
0

Как предотвратить IntelliJ от включения сторонних JAR внутри моего JAR?Как предотвратить IntelliJ от включения стороннего JAR внутри моего JAR?

Это безумно раздражает. В основном я хочу один из них:

  • производить баночку с моим кодом только. Сторонняя банка будет указана в манифесте.

ИЛИ

  • производить банку с извлеченными классов третьих сторон библиотек.

Единственная проблема в том, что IntelliJ производит JAR с другими файлами jar внутри. Они бесполезны, потому что java их не видит, когда я запускаю свою банку через java -jar my.jar. Я должен вручную удалить их и переупаковать JAR/ZIP-файл.

Зависимости не отмечены как «Экспорт» в «Настройки».

Я думаю, что банки заканчиваются в моей банке, потому что я добавил «компилировать вывод» в макет моего артефакта. Но я не уверен, как я могу сделать компиляцию без банок зависимостей.

Я пробовал настройку Объяснение зависимостей «Предоставляется». Это не помогло. Они все еще копируются на выход.

Спасибо!

ответ

2

Такое поведение контролируется следующими параметрами при создании баночки артефакта в IDEA:

jar artifact

Refer to help для деталей.

+0

Это не изменяет поведение. Если я выбираю первый вариант, он извлекает зависимости в jar ** и ** копирует зависимые банки. Я использую сборку 123.129. – expert

+0

Просьба поделиться образцом проекта для воспроизведения. – CrazyCoder

+0

Вот файлы проекта реального проекта без источников: https://www.dropbox.com/s/erck35ejdruml5d/java_backfill.zip Если это не полезно, я могу создать меньше в понедельник. Спасибо!! :) – expert

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