включить банку оттенка maven в другую банку тени - PullRequest
0 голосов
/ 13 апреля 2020

У меня есть два Java проекта приложение data-service и приложение data-report , приложение службы данных создает определенные данные, которые используются для некоторой обработки, и приложение data-report следует использовать приложение data-service, чтобы использовать данные, полученные им для создания некоторых отчетов, оба приложения должны быть собраны в виде файла Jar, поэтому я планирую использовать плагин maven shade, поскольку они используют много jar.

I мне нужно включить data-service в качестве зависимости в data-report (я не могу использовать любой другой метод, например отдых из-за определенных ограничений), у меня есть две проблемы с этим подходом

1) В обоих приложениях есть файл log4j и data.properties, оба файла имеют свойства, определенные c для каждого приложения. Пожалуйста, дайте мне знать, как обрабатывать такой сценарий, я пробовал преобразователи ресурсов, но не работает, пожалуйста, дайте Я знаю, если кто-нибудь был в состоянии успешно использовать его.

2), поскольку оба приложения используют одинаковую библиотеку, такую ​​как spring и hibernate, удалит ли она дубликаты?

3) пусть я использую версию 1 gson в одном приложении и версию 1.2 gson как она будет обрабатывать такие случаи?

4) Правильно ли подходит мой подход? я не хочу использовать модуль maven из-за некоторых ограничений.

1 Ответ

1 голос
/ 13 апреля 2020

Нет, каждый jar должен быть либо библиотекой, либо исполняемым jar (не оба). Библиотека должна быть построена без , включая библиотеки (поэтому плагин Shade не требуется).

Так что, если у вас есть классы, которые используются обоими приложениями, создайте третий jar в виде библиотеки и используйте его в обоих приложениях как зависимость.

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

...