在Eclipse中,当我转到myProject时 - >右键单击 - >运行方式 - > Maven构建,我在控制台中收到多个错误,概述某些包不存在,例如:
--4364:0:aspacem -1: ANON 0038000000-00383d5fff 4022272 r-x-- SmFixed d=0x000 i=25365 o=0 (0) m=0 /usr/lib/valgrind/memcheck-amd64-linux
--4364:0:aspacem Valgrind: FATAL: aspacem assertion failed:
--4364:0:aspacem segment_is_sane
--4364:0:aspacem at m_aspacemgr/aspacemgr-linux.c:1502 (add_segment)
--4364:0:aspacem Exiting now.
虽然在我的pom.xml中,我提供了这些依赖项:
javax.ws.rs does not exist
javax.ws.rs.core does not exist
javax.servlet does not exist
javax.servlet.http doest not exist
下的
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs</artifactId>
<version>1.0</version>
</dependency>
etc
标签(在pom.xml中没有任何错误)。
我也在settings.xml文件中配置了代理设置,并且此文件已正确链接。
我还将这些jar本地包含在WebContent \ WEB-INF \ lib文件夹中并添加到类路径中(我可以在tomcat上运行我的REST服务,错误&#34;包不存在&#34 ;只有在我尝试使用Maven build&#34;时才会出现。
我需要生成和部署.war文件的原因。
我怎么解决这个问题?是否有一场战争迫使Maven在本地图书馆中寻找呢?
答案 0 :(得分:2)
如果你有:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs</artifactId>
<version>1.0</version>
</dependency>
</dependencies>
</dependencyManagement>
然后你需要一个单独的:
<dependencies>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs</artifactId>
</dependency>
</dependencies>
部分。
通常,您将在父pom.xml文件中定义dependencyManagement
,然后在子pom.xml文件中使用第二个dependencies
片段。这可确保您的所有模块都依赖于相同的一致工件。