2012-03-04 4 views
1

У меня есть файл EAR, созданный maven, и в настоящее время у меня есть проект commons, который я бы хотел добавить в EAR \ lib, поэтому я использовал плагин maven-ear с тегом 'bundleDir', который работает отлично, только что теперь мой commons.jar появляется как в папке lib, так и в корне EAR. Как я могу сказать это, чтобы поместить его только в папку lib?Как предотвратить maven из дублирующих банок в EAR-файле?

Мой П:

<plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-ear-plugin</artifactId> 
      <configuration> 
       <outputDirectory>../../outputs/java</outputDirectory> 
       <version>5</version> 
       <modules> 
        <jarModule> 
         <groupId>com.sample.common</groupId> 
         <artifactId>common</artifactId> 
         <includeInApplicationXml> 
          true 
         </includeInApplicationXml> 
         <bundleDir>/lib</bundleDir> 
        </jarModule> 
        ... 
       </modules> 
      </configuration> 
      <executions> 
       <execution> 
        <phase>package</phase> 
        <goals> 
         <goal>ear</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 

А вот определение зависимостей:

<dependency> 
     <groupId>com.sample.common</groupId> 
     <artifactId>common</artifactId> 
     <version>1.0</version> 
     <scope>provided</scope> 
    </dependency> 
+0

Я просто хотел бы отметить, что название этого вопроса выглядит странно, когда его вынимают из контекста. :) –

+0

Я знаю, что название немного странно, но у меня был очень длинный день :) – Tomer

+0

Можете ли вы опубликовать свое определение зависимости от commons.jar из вашего файла pom.xml, спасибо. – hovanessyan

ответ

1

Если файл банка не EJB вы можете просто положить его в ухе зависимости без определения в maven- ухо-плагин. В противном случае попробуйте настроить область, предоставленную вашей банке в списке зависимостей. Это может помочь.

+0

Яйца - это банк EJB, и я пробовал с предоставленной областью, но, к сожалению, это не помогло. – Tomer

+1

Возможно, у вас также есть еще один модуль в списке зависимостей уха, который использует com.sample.common: общий охват или время выполнения. В этом случае все модули, которые вы используете в списке зависимостей уха и в зависимости от com.sample.common: common, также должны иметь объем, указанный для com.sample.common: common. – dyrkin

+0

Хорошо, но я уже об этом подумал и обновил все ссылки на эту банку и все равно не повезло. – Tomer

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