Java 错误:只能导入类型。XYZ 解析为软件包

2022-08-31 12:30:30

我收到错误:“只能导入类型。XYZ 解析为包。

有人在这里解释了原因,但我不确定我应该做些什么来解决这个问题。仅供参考:我正在使用Eclipse。我在下面添加了执行导入的代码。java.util.* 导入工作正常。

 <%@ page import="java.util.*"%>
 <%@ page import="org.eresearch.knowledgeportal.model.Category"%>
 <%@ page import="org.eresearch.knowledgeportal.dao.CategoryDao"%>

 <% 
  CategoryDao catDao = new CategoryDao();
  ArrayList<Category> catList = catDao.selectCategory();

 //
 %>

编辑:实际错误如下:

 org.apache.jasper.JasperException: Unable to compile class for JSP: 

 An error occurred at line: 7 in the generated java file
 Only a type can be imported. org.eresearch.knowledgeportal.model.Category resolves to a package

答案 1

好吧,你没有真正在你的web应用程序上提供足够的详细信息,但我的猜测是你有一个JSP,里面有这样的东西:

<%@ page import="java.util.*,x.y.Z"%> 

并且在类路径上找不到(即不存在于 或 JAR 中)。x.y.ZWEB-INF/classesWEB-INF/lib

仔细检查您在 Tomcat 上部署的 WAR 是否具有以下结构:

my-webapp
|-- META-INF
|   `-- MANIFEST.MF
|-- WEB-INF
|   |-- classes
|   |   |-- x
|   |   |   `-- y
|   |   |       `-- Z.class
|   |   `-- another
|   |       `-- packagename
|   |           `-- AnotherClass.class
|   |-- lib
|   |   |-- ajar.jar
|   |   |-- bjar.jar
|   |   `-- zjar.jar
|   `-- web.xml
|-- a.jsp
|-- b.jsp
`-- index.jsp

或者捆绑的 JAR 位于 下。x.y.Z.classWEB-INF/lib


答案 2

好吧,我刚刚解决了它。在上次导入中,我通过复制其他代码示例添加了“;”。我想这是需要的标准行结尾。

所以

<%@ page import="java.util.*" %>
<%@ page import="org.eresearch.knowledgeportal.dao.CategoryDao" %>
<%@ page import="org.eresearch.knowledgeportal.model.Category" %>

成为

 <%@ page import="java.util.*" %>
 <%@ page import="org.eresearch.knowledgeportal.dao.CategoryDao" %>
 <%@ page import="org.eresearch.knowledgeportal.model.Category;" %>