假设我正在尝试在dispatcher-servlet.xml
中声明一个bean:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
...
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix">
<value>/WEB-INF/views/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
...
</beans>
但问题出在这里:在我自己的项目中,我有一个名为org.springframework.web.servlet.view
的软件包,在该软件包中,我没有和Spring一样的类。这样做是“混淆”Spring,因此,在我的项目中查找类,但我希望它从Spring库/ jar中获取类。这会导致错误,因为它无法找到类。我如何告诉Spring查看自己的类而不是我的类?
我无法告诉你这有多奇怪,但在我的项目中,即使我的IDE也无法分辨出类的定义。但是在另一个项目中,我已经尝试过它仍然有效。
答案 0 :(得分:1)
如果您没有任何共享姓名的课程,那么使用相同的课程名称不会有任何问题。我个人建议您更改包名称,因为这可以帮助您确定问题。如果您的IDE无法找到Spring类,那么您需要的Spring jar可能不在类路径上。
在我用来形成答案的包裹和类碰撞here上有一些有用的内容。
答案 1 :(得分:0)
在不了解您的环境的情况下,无法真正帮助您。您的IDE可能以与Tomcat或标准JVM不同的顺序加载软件包。您的项目清单文件可能包含一些线索。这里有一些关于java如何加载jar文件和包的信息。 Java: how classes are found
底线是..
您的项目中不应该包含名称为org.springframework.web.servlet.view的包。 Java Package naming standards