Java 为什么我得到了;无法解析为“类型”;错误?
我正在Eclipse的IDE下开发一个动态web项目 在src/my/demo/service文件夹下,我有CarService.java类Java 为什么我得到了;无法解析为“类型”;错误?,java,eclipse,Java,Eclipse,我正在Eclipse的IDE下开发一个动态web项目 在src/my/demo/service文件夹下,我有CarService.java类 public class CarService { ... } import my.demo.service.CarService; public class UserController{ private CarService carService; //ERROR: CarServcie cannot be resolved to a
public class CarService {
...
}
import my.demo.service.CarService;
public class UserController{
private CarService carService; //ERROR: CarServcie cannot be resolved to a type
}
在src/my/demo/controller文件夹下,我有UserController.java类
public class CarService {
...
}
import my.demo.service.CarService;
public class UserController{
private CarService carService; //ERROR: CarServcie cannot be resolved to a type
}
我确实导入了CarService,为什么eclipse在我的UserController.java中给我错误“CarServcie无法解析为类型”
--------编辑------------------
我找到了原因:出于某种原因,my.demo.service与eclise project explorer视图中的src/具有相同的级别。在我将我的.demo.service移到src/下之后,一切正常。似乎我不应该在Eclipse的“ProjectExplorer”视图中创建新包
但感谢您的回复:)您可能错过了包装声明
package my.demo.service;
public class CarService {
...
}
出于某种原因,my.demo.service与eclise project explorer视图中的src/具有相同的级别。在我将我的.demo.service移到src/下之后,一切正常。似乎我不应该在Eclipse的“ProjectExplorer”视图中创建新包
但是谢谢你的回复:)你只需要去项目-->清洁
请参见我自己也有过此错误的实例,在我的案例中,上述解决方案均未自行解决“无法解析为类型”错误,尽管它们是实现此目的的必要步骤。但我发现了一些愚蠢的事情 这似乎是由于Eclipse中的一个bug(在我的例子中是Luna Service Release 1a(4.4.1))。在您看到错误的文件中,尝试在进行并撤消一个微不足道的更改后保存(例如,删除一个字符,然后重新键入)。由于某种原因,这导致我所有的类引用都被解析。可能是错误的路径。。?
检查你的.classpath文件。当另一个类(CarService)仍然为空时,我遇到了这个问题,没有方法,什么都没有。当它有方法和变量时,错误就消失了 在我的例子中,缺少的类型是在依赖jar中引用java类的导入。由于某种原因,我的项目文件缺少javabuilder,因此无法解析导入路径 首先我不知道为什么它会丢失,但添加这些行修复了错误
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
org.eclipse.jdt.core.javabuilder
我有错误的包名:
main.java.hello
和main.test.hello
而不是com.blablabla.hello
src/main/java
,并创建了另一个src文件夹src/test/java
src/main/java中的包重命名为com.blabla.hello
src/test/java
中创建了另一个同名包CarService类是否属于包my.demo.service,而不仅仅是文件夹?抱歉,我没有得到解决方案,您能说明如何解决它吗?保存文件将通过Eclipse执行新的编译。这就是为什么你的错误被神奇地解决了!右键单击项目,然后单击“构建项目”解决了我的问题。。。。