【发布时间】:2018-01-25 17:06:04
【问题描述】:
我正在尝试使用 apache olingo V4 (https://olingo.apache.org/doc/odata4/tutorials/read/tutorial_read.html) 创建 OData 服务
但是当我通过继承包 org.apache.olingo.commons.api.edm.provider 的类 CsdlAbstractEdmProvider 来创建 Edm(实体数据模型)提供程序类时 strong> (https://olingo.apache.org/javadoc/odata4/org/apache/olingo/commons/api/edm/provider/CsdlAbstractEdmProvider.html),收到错误无法解析导入 org.apache
我明白,我缺少要包含在我的项目中的必要库。尽管我已将其创建为 maven 项目并按照教程中的建议编辑了 pom.xml 文件。甚至,为了避免任何冲突,我对文件使用了与教程中使用的相同的命名约定。
请建议我如何处理这种情况。随时询问有关该问题的任何进一步说明。在这里我包括我的 pom.xml 文件
<project
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>my.group.id</groupId>
<artifactId>DemoService</artifactId>
<packaging>war</packaging>
<version>4.0.0</version>
<name>DemoService Maven Webapp</name>
<properties>
<javax.version>2.5</javax.version>
<odata.version>4.0.0</odata.version>
<slf4j.version>1.7.7</slf4j.version>
</properties>
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>${javax.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.olingo</groupId>
<artifactId>odata-server-api</artifactId>
<version>${odata.version}</version>
</dependency>
<dependency>
<groupId>org.apache.olingo</groupId>
<artifactId>odata-server-core</artifactId>
<version>${odata.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.olingo</groupId>
<artifactId>odata-commons-api</artifactId>
<version>${odata.version}</version>
</dependency>
<dependency>
<groupId>org.apache.olingo</groupId>
<artifactId>odata-commons-core</artifactId>
<version>${odata.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>${slf4j.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.11</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>
<finalName>DemoService</finalName>
</build>
</project>
这是我的项目文件夹结构的快照 [项目文件夹结构]
【问题讨论】:
-
你在做
mvn clean compile的时候是不是也报错了?此外,odata-server-core工件的 runtime 范围看起来很可疑,您确定这应该是运行时而不是默认值吗? -
您好@user3151902,非常感谢您的关注。因为我使用 Eclipse 作为我的 IDE。我通过右键单击 pom.xml 文件 -> 运行方式 -> maven clean 来清理项目。在这种情况下,我会在控制台中收到成功消息。
-
OK,但是 maven clean 只会删除已编译的文件和其他 Maven 输出。你可以做File -> Run as -> Maven... 然后在goals下输入
clean compile -
关于 odata-server-core - 因为我指的是来自 apache olingo 官方网站的教程,所以我只是假设一切都是标准的和最新的。所以我避免对 pom.xml 文件进行任何更改。无论如何,我是使用 olingo 和 maven 框架的新手。因此,如果需要任何修改,请提出建议。
-
完成
clean compile但没有效果。
标签: java rest maven odata olingo