一尘不染

Eclipse项目中的Maven:软件包javax.ws.rs不存在

tomcat

在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在本地图书馆中查找?


阅读 2128

收藏
2020-06-16

共1个答案

一尘不染

如果你有:

<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文件中使用第二个片段。这样可以确保所有模块都依赖相同的一致工件。

2020-06-16