У меня есть два веб-приложения maven, скажем ProjectA и ProjectB, которые упакованы в файлы WAR. Оба приложения используют третье приложение maven ProjectC, которое содержит некоторые общие классы. Я добавил ProjectC как зависимость в ProjectA и ProjectB.Maven multimodule без подмодуля как файл jar
ProjectA и ProjectB работают в Eclipse, используя плагин maven jetty, но в процессе его развертывания используются как файлы WAR на веб-сервере Tomcat.
Этот подход работал нормально, пока я не начал делиться некоторыми спящими сущностями. Из-за проблемы, описанной в этом вопросе, jar-file from persistence.xml is not found in eclipse, невозможно связать persistence.xml с объектами в ProjectC.jar, поэтому мне нужно найти альтернативное решение.
Я думал, что это будет работать, если я мог бы составить классы ProjectC когда ProjectA и ProjectB составляются, поэтому структура выглядит следующим образом:
projectA
-WEB-INF
-classes
-project-a.classes
-project-c.classes
projectB
-WEB-INF
-classes
-project-b.classes
-project-c.classes
, а затем:
projectA
-WEB-INF
-classes
-project-a.classes
-lib
-project-c.jar
projectB
-WEB-INF
-classes
-project-b.classes
-lib
-project-c.jar
Я не знайте, возможно ли это с использованием мультимодулярного подхода maven, но также приветствуются некоторые другие идеи, которые помогут решить эту проблему.
Спасибо,
Спасибо за вашу идею. Я согласен с тем, что было бы лучше, если бы все, что связано с спящим, было в совместном проекте. Проблема в том, что проект A является надежным и использует Spring. Я не хочу использовать Spring в другом проекте. Это потребует больших изменений, если я хочу использовать ту же конфигурацию в обоих проектах, но я обязательно попробую. На данный момент я пытаюсь выяснить, возможно ли иметь META-INF/persistence.xml в каком-либо месте в проекте b, где у него будет доступ к /lib/project-c.jar –
. Добро пожаловать. Вы всегда можете указать объекты в файле persistence.xml с использованием элементов (вместо использования ).Тогда у вас не будет проблем, связанных с расположением проекта-c, если он «доступен» для проекта-b (например, если он находится в папке web-inf/lib или привнесен средой среды выполнения/сервером в военное приложение) –
Guillermo
О нет. Существует более 100 объектов, и они все еще меняются, поэтому было бы неприятно для поддержания. Я бы попробовал завтра, поскольку вы предложили иметь persistence.xml в совместном проекте. –