在Eclipse中,当我转到myProject->右键单击-> Run As-> Maven构建时,控制台中出现多个错误,概述某些软件包不存在,例如:
javax.ws.rs does not exist javax.ws.rs.core does not exist javax.servlet does not exist javax.servlet.http doest not exist
尽管在我的pom.xml中,我提供了那些依赖项:
<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
下
<dependencyManagement><dependecies>
标签(pom.xml中没有任何错误)。
我也确实在settings.xml文件中配置了代理设置,并且该文件已正确链接。
我还将这些jar包含在本地的WebContent \ WEB-INF \ lib文件夹中,并添加到类路径中(我可以在tomcat上运行我的REST服务,错误“包不存在”仅在我尝试使用Maven时出现建立”。
我需要生成和部署.war文件的原因。
我该如何解决?是否有战争迫使Maven在本地图书馆中查找?
如果你有:
<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>
部分。
通常,您将dependencyManagement在父pom.xml文件中定义,然后dependencies在子pom.xml文件中使用第二个片段。这样可以确保所有模块都依赖相同的一致工件。
dependencyManagement
dependencies