2014-12-29 5 views
0

В моем файле pom.xml у меня есть много ссылок на версию зависимостей, используя формат {version.XXX}. Например:

<dependency> 
     <groupId>com.extjs</groupId> 
     <artifactId>gxt</artifactId> 
     <version>${version.gxt}</version> 
    </dependency> 

Мне сложно найти информацию об этом виде. Мое предположение состоит в том, что это используется для обработки сценариев, где у вас есть несколько зависимостей, которые ссылаются на один и тот же файл artifactId. Это позволит нам поддерживать только информацию о версии в одном месте. Таким образом, $ {version.XXX} означает нечто вроде «найти атрибут версии для XXX artificatId, на который ссылается где-то еще».

Мои вопросы:

  1. Является ли мое предположение правильно? Если нет, пожалуйста, поправьте меня!
  2. Если мое предположение верно, то существуют ли определенные правила, которые должны соблюдаться для правильного использования? Например, вы должны сначала перечислить зависимость, содержащую pom.xml, которая предоставляет информацию о версии артефакта XXX, прежде чем перечислять зависимость, которая использует формат $ {version.XXX}?

ответ

2

Это просто замена собственности, поэтому где-то в любом этом ПОМ или одного из родителей, вы должны перечислить версию как свойство, например:

<properties> 
    <version.gxt>your version goes here</version.gxt> 
</properties>