2016-10-19 7 views
0

Эй я сочинительство проект, который включает в себя 2 другой проект Maven:Maven войны проект с банками

  1. JPA с проектом EJB (DAO) слой упаковки .jar

    упаковки
  2. Отдых Услуги Проект .war

Я нашел справку с настройкой зависимости с затмением. В моем военном проекте я добавил местный проект с DAO. Компиляция, построение (mvn clean install на двух pom.xml) прошла успешно. Но я не могу развернуть его на сервере wildfly. Я получаю NoClassDef класса из моего пакета jar.

С другой стороны, я видел много проектов с упаковкой DAO в банке. Но есть аннотации EJB3. Будут ли они работать с JEE Server в этой конфигурации? (Им не нужен web.xml, поэтому, возможно, это правильно). В какой области я должен установить мой зависимый проект DAO? Если у меня есть ошибка NoClassDef, кажется, что во время выполнения нет компилированных классов или есть 2 или более определений классов из этого пакета. Я пробовал несколько конфигураций, но я не могу получить решение.

Может ли кто-нибудь написать лучшую практику для установки проектов maven? Например

  1. DAO слой типа: баночка

  2. Отдых Услуги типа слоя: война, зависимость: DAO {область применения: по умолчанию, тип: баночка}

+0

Какие у вас аннотации EJB3? –

ответ

1

Я думаю, что хорошая практика будет определять родительский объект проекта (родительский POM), который должен определить задействованный модуль:

<modules> 
    <module>application-dao</module> 
    <module>application-rest</module> 
</modules> 

и определите е как зависимость, ваше приложение «.jar»

<dependency> 
    <groupId>com.test</groupId> 
    <artifactId>application-dao</artifactId> 
    <version>${project.version}</version> 
    <scope>compile</scope> 
</dependency> 

РЕКОМЕНДАЦИИ можно добавить дополнительный слой управления, то вы бы

  • приложений дао
  • приложений ядро ​​
  • application-rest
Смежные вопросы