我的项目有多个罐子和战争的结构如下:如何在Maven中继承Webapps的Java-EE API?
root (pom)
+--core (jar)
+--webapp (jar)
+--childgroup (pom)
+--actual-web-application (war)
+--some-library (jar)
+--othergroup (pom)
+--another-web-application (war)
当实际网络应用依赖于Web应用程序依赖于核心。理想情况下,我想仅在webapp模块中指定Java EE依赖项,并让实际Web应用程序继承它。但是因为它是提供的依赖项,所以这不起作用,我必须在每个Web应用程序中手动添加提供的东西(如Java EE,jax-rs等)的依赖项。
有没有什么办法,以dependencyManagement为例,让实际的web应用程序从webapp继承javaee-api?
我已经试过,在Web应用的pom.xml:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0</version>
</dependency>
</dependencies>
</dependencyManagement>
而且在实际网络应用的pom.xml:
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<scope>provided</scope>
</dependency>
但是,它符合有关的版本,所以它似乎它仍然没有从webapp的pom.xml中继承依赖。
'提供 '是不传递的。 –
khmarbaise
我知道,但我想知道是否有解决此问题的方法。 – Davio
简单的回答没有。提供的范围有意义。唯一的“解决方法”不是使用'provided',这是完全错误的。 – khmarbaise