2015-07-20 2 views
1

У нас есть файл POM, который определяет все наши общие зависимости (a BOM file), которые импортируются следующим образом:«импорт» области и указать путь?

<dependencyManagement> 
    <dependencies> 
     <dependency> 
      <groupId>com.mycompany.myproduct</groupId> 
      <artifactId>external-modules-bom</artifactId> 
      <version>1.0.0</version> 
      <type>pom</type> 
      <scope>import</scope> 
     </dependency> 
    </dependencies> 
</dependencyManagement> 

Можно указать путь системного файла пом, так что он не должен быть присутствовать в репозитории maven? Кажется, что systemPath может использоваться только при использовании области system, а затем спецификация не импортируется должным образом. Есть ли другой способ сделать это?

ответ

1

Невозможно сделать это, если вы хотите использовать встроенную область import, что я настоятельно рекомендую в вашем случае.

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

BTW, под обложкой import область действительно копирует и вставляет pom зависимость этой области, после базовой обработки синтаксиса. Разрешение зависимостей здесь стандартное.

+0

Я был обеспокоен тем, что может быть в случае Michal. Я предпочел бы «законное» решение maven, а не зависящее от экзотических сторонних плагинов, чтобы он (по тем же причинам, что и вы предлагаете). Я рассматривал определение репозитория, в котором указывалось, где находится файл спецификации, но я не уверен, что это лучше или нет. –

+0

IMHO repo всегда в порядке (если это не файл ': //'). –

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