我正面临Maven的一个奇怪问题,寻求一些帮助。我的maven pom看起来像这样:
<dependency>
<groupId>org.eclipse.californium</groupId>
<artifactId>californium-core</artifactId>
<version>1.0.0-SNAPSHOT</version>
<scope>test</scope>
</dependency>
并添加了这样的存储库:
<repositories>
<repository>
<id>repo.eclipse.org</id>
<name>Californium Repository</name>
<url>https://repo.eclipse.org/content/repositories/californium/</url>
</repository>
</repositories>
Java类看起来像这样:
import org.eclipse.californium.core.CoapResource;
import org.eclipse.californium.core.CoapServer;
import org.eclipse.californium.core.server.resources.CoapExchange;
public class Hello extends CoapServer {
//Code here
}
问题是Eclipse没有抛出任何错误,但是当我尝试从eclipse运行maven build时,我不断收到许多编译错误:
[错误] D:\ Pradeep \ Workspaces \ coap \ CoapServer \ src \ main \ java \ com \ pradeep \ coap \ server \ CoapServer \ CoapProxyServer.java:[3,35]错误:package org.eclipse.californium .core不存在
我通过删除dependency
标签验证了依赖项是否正确下载,然后甚至eclipse抛出错误,所以我认为这意味着依赖项被正确下载(我也在eclipse中看到Maven依赖项中的jar文件)。我在运行build时遇到了这个问题。有人可以指导我吗?
答案 0 :(得分:4)
您的Hello
类位于源文件夹中,而您在范围test
中定义了依赖项。要么将你的课程移到src/test/java
我们改变你的依赖关系而不是测试依赖。
Eclipse无法区分范围,并将所有内容放在整个模块的类路径中,无论定义的范围如何。