У меня есть несколько мультимодульных проектов maven. Это приложение Java EE, так что все они идут в один файл EAR в конечном счете, и именно поэтому есть специальный отдельный POM, где все управление зависимостью описывается зависимости 3-й партии:Управление зависимостями Maven и IDE: область «import»
<groupId>mygroup</groupId>
<artifactId>my-3rd-party-deps</artifactId>
<version>1.0.0</version>
<packaging>pom</packaging>
Он также импорт JBoss AS родительском ПОМ в его зависимости секция управления:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.jboss.as</groupId>
<artifactId>jboss-as-parent</artifactId>
<version>7.1.3.Final</version>
<type>pom</type>
<scope>import</scope>
</dependency>
каждый проект имеет собственный родитель, где я описываю
<dependencyManagement>
<dependencies>
<dependency>
<groupId>mygroup</groupId>
<artifactId>my-3rd-party-deps</artifactId>
<version>1.0.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
и каждый подмодуль J ust описывает их зависимости без версий.
Это прекрасно работает при использовании командной строки. Все версии зависимостей разрешены правильно.
Но в IDE (я пробовал IDEA, Eclipse и NetBeans), я получаю ошибки.
IDEA
[ERROR] 'dependencies.dependency.version' for org.jboss.spec.javax.ejb:jboss-ejb-api_3.1_spec:jar is missing. @ line 63, column 29 less...
Затмение
For artifact {org.jboss.spec.javax.ejb:jboss-ejb-api_3.1_spec:null:jar}: The version cannot be empty. (org.apache.maven.plugins:maven-resources-plugin:2.6:resources:default-resources:process-resources)
в то время как версия для org.jboss.spec.javax.ejb:jboss-ejb-api_3.1_spec
находится в JBoss AS родительский POM.
Почему это происходит и как я могу решить эту проблему для работы в среде IDE без ошибок?
Как вы импортируете свои проекты в IDE? Я думаю, вы должны предоставить свои подмодули в качестве модулей в родительском помпе и импортировать только родительский pom в IDE. – arghtype
Правильно, я импортирую родительские POM в IDE. Затем все подмодули импортируются автоматически с помощью IDE. – dds
Я воспроизвел эту ошибку (в более простом случае). Мне удалось избавиться от ошибки, полностью удалив зависимости без версии. Код все еще может быть скомпилирован. Не могли бы вы попробовать? – arghtype