Объедините два проекта Java Maven в один - PullRequest
1 голос
/ 23 мая 2019

Я работаю над проектом Java / Maven. Я использую другой проект в качестве библиотеки JAR, все работает нормально.

Мой менеджер хочет, чтобы я использовал только один репозиторий Git. Поэтому он попросил меня объединить оба кода и сделать его одним проектом. О чем мне нужно помнить.

Запутался в том, как это сделать и что нужно помнить (например, изменения в pom.xml)

Вещи, которые я уже пробовал:

  • Создан новый проект и попытка скопировать часть src и вставить в новые проекты src [не кажется правильным]
  • Попробуйте скопировать весь проект и вставить в новый. [не знаю, сработает ли это]

Пожалуйста, помогите.

Заранее спасибо.

Ответы [ 2 ]

3 голосов
/ 23 мая 2019

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

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

|__.git
|__my-project
|  |__ pom.xml
|  |__src // and source code inside
|__used-to-be-external-lib
   |__ pom.xml    
   |__src 

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

С другой стороны, если цель состоит в том, чтобы собрать два проекта вместе, чем рассмотреть возможность использования мультимодульного Проект Maven:

В этом случае вы получите что-то вроде:

|__.git
|__project
   |__pom.xml  // will have the packaging pom as you can read in link I provided
   |__my-project
   |  |__pom.xml
   |  |__src
   |__used-to-be-external-lib
      |__pom.xml 

POM с упаковкой pom, о которой я упоминал во втором примере, будет содержать список модулей:

<?xml version="1.0" encoding="UTF-8"?>
  <project...>
  <modelVersion>4.0.0</modelVersion>
  <groupId>...</groupId>
  <artifactId>...</artifacId>
  <version>...</version>
  <packaging>pom</packaging>
  <modules>
    <module>my-project</module>
    <module>used-to-be-external-lib</module>
  </modules>
</project>  
0 голосов
/ 23 мая 2019

Вероятно, грубый способ сделать это.давайте предположим, что у вас есть два проекта maven A и B. Теперь создайте новый проект C в вашей intllij-идее.В проекте C создайте новый модуль A1.Скопируйте зависимости и соберите свойства (если они есть) из pom.xml в A в pom.xml в A1.Теперь скопируйте ваш каталог src из проекта A в src из A1 и так далее.Повторите тот же процесс для вашего проекта B, то есть создайте модуль B1, скопируйте зависимости, скопируйте src, ресурс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...