Maven构建显示编译错误,但Eclipse没有

时间:2015-07-31 06:26:22

标签: java eclipse maven

我正面临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时遇到了这个问题。有人可以指导我吗?

1 个答案:

答案 0 :(得分:4)

您的Hello类位于源文件夹中,而您在范围test中定义了依赖项。要么将你的课程移到src/test/java我们改变你的依赖关系而不是测试依赖。

Eclipse无法区分范围,并将所有内容放在整个模块的类路径中,无论定义的范围如何。