2013-12-02 2 views
0

Я новичок в Maven, и я конвертирую текущее приложение EAR в Maven. Это проект с несколькими модулями (уха, ejb, web, утилита).Многоуровневые зависимости в maven EAR?

Некоторые служебные модули зависят от других модулей. Я не хочу, чтобы Maven добавлял номер версии в модули JAR. Таким образом, в EAR POM.XML

Я использую опцию <bundleFileName>, где я устанавливаю имя окончательного JAR. Проблема в том, что сгенерированный файл MANIFEST.MF файла, который зависит от , на этом модуле по-прежнему использует номер версии в имени файла JAR.

Любая идея, что я делаю неправильно?

Вот отрывок из pom.xml уха

<jarModule > 
    <groupId>${project.parent.groupId}</groupId> 
    <artifactId>batch</artifactId> 
    <bundleFileName>batch.jar</bundleFileName> 
</jarModule > 

Вот отрывок из pom.xml модуля

<dependency> 
    <groupId>${project.parent.groupId}</groupId> 
    <artifactId>batch</artifactId> 
    <version>${project.parent.version}</version> 
    <type>jar</type> 
</dependency> 
<build> 
<finalName>util</finalName> 
<plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-jar-plugin</artifactId> 
      <configuration> 
       <archive> 
        <manifest> 
         <addClasspath>true</addClasspath> 
        </manifest> 
       </archive> 
      </configuration>  
     </plugin> 
    </plugins> 
</build> 

В результате UTIL в MANIFEST.MF содержит от партии 1.0.jar Но я d нравится ему содержать batch.jar, как указано в EAR's pom.xml

+0

Ваш EAR назван util? batch-1.0.jar - зависимость от util.jar, а не EAR! – MariuszS

ответ

0

Когда вы отпускаете это ухо, вы будете разворачивать эти модули с той же версией?

Если да, то вы можете использовать его:

Например: структура проекта:

-EAR 
pom.xml 
--web-module 
    pom.xml 
--ejb-module 
    pom.xml  

Представьте себе, что веб-модуль имеет EJB-модуль зависимость, то вы можете добавить в веб-модуль проекта эта зависимость:

<dependency> 
     <groupId>your.groupId</groupId> 
     <artifactId>your.groupId</artifactId> 
     <version>${project.version}</version> 
    </dependency> 

Надеюсь, это поможет.

+0

Привет, спасибо за ваш ответ. Я отредактировал свой вопрос, чтобы лучше обхаживать. Не могли бы вы взглянуть на него? Благодарю. – bikerp

+0

Вы пытались переопределить finalName в конфигурации maven-jar-plugin? http://maven.apache.org/plugins/maven-jar-plugin/jar-mojo.html#finalName – gerardribas

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