java – Package / Class无法解析为某个类型
首先要做的事情:)
我知道标题似乎很容易回答.也许这对你们中的一个人来说,但我完全失去了…… 问题 我在Tomcat6中运行了一个Web应用程序.这个webapp是一个有趣的新站点混合,用MVC和许多遗留的JSP站点实现.后者并没有给出关于OOP,设计模式,可维护性或可重用性的大概,并且都是过时的重写.也就是说,他们仍在工作,他们仍然在使用. 所以我得到的错误是JSP编译错误:
似乎无法解析整个de.semaino.damex.utils包.有问题的JSP如下所示: 1<%@ page import="java.util.*" %> 2<%@ page import="java.sql.*" %> 3<%@ page import="java.io.FileInputStream" %> 4<%@ page import="de.semaino.damex.*"%> 5<%@ page import="de.semaino.damex.utils.EcatBundle"%> 6<%@ page import="de.semaino.damex.system.SystemParameters"%> 7<%@ page import="de.semaino.damex.system.HelpSystem"%> 8 9<% 10 String langua2 = "0"; 11 String speech = request.getParameter("speech"); 12 if (speech == null) { speech = "nix"; } 13 if ( speech.equals("de") ) { langua2="de"; } 14 if ( speech.equals("en") ) { langua2="en"; } 15 if ( speech.equals("nl") ) { langua2="nl"; } 16 if (! langua2.equals("0")) { 17 request.getSession().setAttribute("org.apache.struts.action.LOCALE",new Locale(langua2,"")); 18 PropertyResourceBundle bundle = new PropertyResourceBundle(new FileInputStream( 19 application.getRealPath("/") + "WEB-INF/classes/ApplicationResources_" + langua2 + ".properties")); 20 EcatBundle eBundle = new EcatBundle(bundle); 21 22 request.getSession().setAttribute("bundle",eBundle); 23 } 第12和24行相当于本引文中的5和20.代码没有改变,只是格式化. 我的WEB-INF / classes文件夹如下所示: WEB-INF/ classes/ de/ semaino/ damex/ utils/ EcatBundle.class 这应该是所需的文件夹结构. 关于它的奇怪之处 我有已经被重写的页面,他们使用完全相同的导入没有任何问题.可以解析包,并使用与上面几乎相同的代码实例化类.只有这次它在一个编译的java类中. 到目前为止我做了什么 既然真正的java类可以使用导入就好了,我认为类本身不是问题. 首先,我从页面中删除了import指令和类,如下所示: 1<%@ page import="java.util.*" %> 2<%@ page import="java.sql.*" %> 3<%@ page import="java.io.FileInputStream" %> 4<%@ page import="de.semaino.damex.*"%> 5 6<%@ page import="de.semaino.damex.system.SystemParameters"%> 7<%@ page import="de.semaino.damex.system.HelpSystem"%> ... 18 PropertyResourceBundle bundle = new PropertyResourceBundle(new FileInputStream( 19 application.getRealPath("/") + "WEB-INF/classes/ApplicationResources_" + langua2 + ".properties")); 20 21 22 request.getSession().setAttribute("bundle",bundle); ... 在这些更改之后,页面再次呈现正常,这意味着其他导入正在运行.那么utils包的东西呢? 我将类移动到另一个包(在Eclipse中使用Refactor – > move)并更改了JSP中的import指令.重新编译并重新部署整个应用程序后,它工作了…现在抛出错误的页面呈现正确.但对我来说这不是一个令人满意的解决方案,所以我把它移回去了,错误又回来了. 我也尝试重命名整个包(也在Eclipse中使用Refactor – >重命名)并重新部署,但这次没有任何效果. 我尝试了其他一些没有帮助的事情,比如重新安装Tomcat,检查Tomcats Java Path,在另一台机器上部署war文件,在eclipse和Jenkins中构建war文件并将其部署在其他机器上.结果在哪里都一样. 这种行为对我来说没有意义.我从未在这样一个奇怪的星座中看到过那个错误. 这个问题 或者我可以回答更多问题来帮助你帮助我? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |