错误为:
D:\hljweb\WEB-INF\classes\com\ubo\act\PhoneSearchAction.java:4: cannot resolve symbol
symbol  : class DB  
location: package db
import com.ubo.db.DB;
                  ^
D:\hljweb\WEB-INF\classes\com\ubo\act\PhoneSearchAction.java:5: cannot resolve symbol
symbol  : class PhoneBook  
location: package user
import com.ubo.user.PhoneBook;
                    ^
D:\hljweb\WEB-INF\classes\com\ubo\act\PhoneSearchAction.java:6: cannot resolve symbol
symbol  : class User  
location: package user
import com.ubo.user.User;
                    ^
D:\hljweb\WEB-INF\classes\com\ubo\act\PhoneSearchAction.java:12: package org.apache.struts.action does not exist
import org.apache.struts.action.*;
^
D:\hljweb\WEB-INF\classes\com\ubo\act\PhoneSearchAction.java:14: cannot resolve symbol
symbol  : class Action  
location: class com.ubo.act.PhoneSearchAction
public class PhoneSearchAction extends Action
                                       ^
D:\hljweb\WEB-INF\classes\com\ubo\act\PhoneSearchAction.java:17: cannot resolve symbol
symbol  : class ActionMapping  
location: class com.ubo.act.PhoneSearchAction
    public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse)
                                 ^
D:\hljweb\WEB-INF\classes\com\ubo\act\PhoneSearchAction.java:17: cannot resolve symbol
symbol  : class ActionForm  
location: class com.ubo.act.PhoneSearchAction
    public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse)
                                                              ^
D:\hljweb\WEB-INF\classes\com\ubo\act\PhoneSearchAction.java:17: cannot resolve symbol
symbol  : class ActionForward  
location: class com.ubo.act.PhoneSearchAction
    public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse)
           ^
D:\hljweb\WEB-INF\classes\com\ubo\act\PhoneSearchAction.java:21: cannot resolve symbol
symbol  : class User  
location: class com.ubo.act.PhoneSearchAction
        User user = null;
        ^
D:\hljweb\WEB-INF\classes\com\ubo\act\PhoneSearchAction.java:23: cannot resolve symbol
symbol  : class DB  
location: class com.ubo.act.PhoneSearchAction
        DB db = null;
        ^
D:\hljweb\WEB-INF\classes\com\ubo\act\PhoneSearchAction.java:24: cannot resolve symbol
symbol  : class PhoneBook  
location: class com.ubo.act.PhoneSearchAction
        PhoneBook pb = null;
        ^
D:\hljweb\WEB-INF\classes\com\ubo\act\PhoneSearchAction.java:28: cannot resolve symbol
symbol  : class User  
location: class com.ubo.act.PhoneSearchAction
        user = (User)session.getAttribute("user");
                ^
D:\hljweb\WEB-INF\classes\com\ubo\act\PhoneSearchAction.java:35: cannot resolve symbol
symbol  : class DB  
location: class com.ubo.act.PhoneSearchAction
            db = new DB();
                     ^
D:\hljweb\WEB-INF\classes\com\ubo\act\PhoneSearchAction.java:46: cannot resolve symbol
symbol  : class PhoneBook  
location: class com.ubo.act.PhoneSearchAction
                pb = new PhoneBook();
                         ^
14 errors

解决方案 »

  1.   

    我写的代码是根据别人写的PhoneListAction.class改的,我把反编译的代码放下:package com.ubo.act;import com.ubo.db.DB;
    import com.ubo.user.PhoneBook;
    import com.ubo.user.User;
    import java.io.IOException;
    import java.sql.ResultSet;
    import java.util.Vector;
    import javax.servlet.ServletException;
    import javax.servlet.http.*;
    import org.apache.struts.action.*;public class PhoneListAction extends Action
    {    public PhoneListAction()
        {
        }    public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse)
            throws IOException, ServletException
        {
            HttpSession session = null;
            User user = null;
            Vector v = null;
            DB db = null;
            PhoneBook pb = null;
            String target = new String("success");
            session = httpServletRequest.getSession();
            user = (User)session.getAttribute("user");
            String myMobile = user.getMobile();
            String sql = "select t.id,t.dest_name_char,t.mobile from phonebook t where t.host_teleno = '" + myMobile + "'";
            try
            {
                v = new Vector();
                db = new DB();
                db.connect("jndiweb");
                db.query(sql);
                for(; db.nextRecord(); v.add(pb))
                {
                    pb = new PhoneBook();
                    pb.setId(db.myRS.getInt(1));
                    pb.setName(db.myRS.getString(2));
                    pb.setToMobile(db.myRS.getString(3));
                }            db.close();
            }
            catch(Exception ex)
            {
                db.close();
            }
            session.setAttribute("phonebook", v);
            return actionMapping.findForward(target);
        }
    }
      

  2.   

    因为找不到你import的类
    看看是不是少jar?或者是找不到
      

  3.   

    这个网站不是我做的,做的那个人走了,目前找不到,struts是他配置的,别的程序还在用,能是配置的事吗?????????
    "看看是不是少jar?"是什么意思呀,上面错误码中找不到的类,我全看到了呀,它们全在他们应在的位置上呀,如果没了,那网站可以还在运行吗????
    如import com.ubo.db.DB;,DB.class就在\WEB-INF\classes\com\ubo\db下呢呀
    到底为什么找不到呀,顺口问一下,struts要怎样配呀,或者说我怎么能找到做这网站的人配的文件呀,错误中有"import org.apache.struts.action.*;",配struts用在环境变量中设一下吗?请详细指点一下,我有搜过贴子,可没找到这方面的呀
      

  4.   

    "cannot resolve symbol"
    应该是不认识你的标签,有时是无所谓的,我再用Ideal的时候,也经常遇到的,
    在本机上测试可以通过运行吗?
      

  5.   

    唉,"cannot resolve symbol"出现这个根本就无法把.java编成.class文件呀,没法测试呀大家在帮助看我这些代码时,如还想看相关的代码,比如com.ubo.db.DB,请提出来,我把这些如DB.class的全反编了,可以贴出来,谢谢大家了呀
      

  6.   

    我这样理解的。别人做的struts web应用,放在一台服务器上,以前没有问题,最近出问题了?对吗?
      

  7.   

    看错误的意思是不能解析诸如com.ubo.db.DB这样的类。
    java在编译的时候会把要使用的类逐一解析为字节码装载到内存(我好像是这么记得的),也就是在装载的时候出错了。
    可能的原因是找不到类,你把你编译时的环境说来听听,什么工具,源代码是不是都全了,配置是怎么配置的(诸如jdk路径、jar文件路径等等)
      

  8.   

    楼主,
    我估计是你没有把别人编的程序生成的Class文件加到你的classpath里之所以那个网站现在能运行,那是因为你那个系统里默认包含有那些编译好的Class文件,在
    WEB-INF/classes目录下
    而你编译时,需要自己再把它们添加到你的ClassPath里。
    试试看是不是我说的情况?
    大家,猴年爬得更高!!
      

  9.   

    BillyW(阿弥陀佛)说的以前运行好用,现在不行了,这情况也有,不过不是全不好用了,而是一个页,代码没有改过呀,这是怎么回事,不过这个情况不是我这回问的
    这回我想知我写的代码为什么编译不了,有页不好用下回再请教
    我按大家的试试,然后把结果贴出来,先谢大家了
      

  10.   

    Leemaasn(我给大家拜早年啦!新春快乐!!!) 说的关于路径的问题,我试了下,我是在正在运行此网站的服务器上编译的,可还是这样的情况呀,我想能不能是编这个的人在某机器上编译好后,再放到服务器上的,也就是说服务上的环境只能运行此程序,而不能编译呢?会有这种可能吗,如真是这样,那我就看不到配置的环境了吧,因为那人现在找不到
      

  11.   

    楼主是直接使用javac命令行编译方式?
      

  12.   

    我是用javac编译的,也用过Jcreator这软件编译过,全这样呀
    我在服务器上编译过,还是找不到类,我把服务器上的整个目录全下到机器上编译也出错,我应是把相关包加到我的项目里了呀,应不会有漏掉的呀,就算有,可在服务器上也不应出错呀
      

  13.   

    目录下面能找到com.ubo.*这个目录么?还有,好像你没有把struts.jar放到classpath下面或者说包含到lib路径中
      

  14.   

    我机器上和服务器上的文件全是在D:\hljweb,jdk是D:\java,tomcat是D:\tomcat4,hljweb也符合struts,"import org.apache.struts.action.*;"这个错误以解决,jdk和tomcat也在win2000server下环境变量中设置好了,是可以编译java的,现在只有如"import com.ubo.db.DB;"这样的别人编的类找不到,它们定义成public,应不用在ClassPath里指定吧
      

  15.   

    Jacky1206(胖胖) 说的"目录下面能找到com.ubo.*这个目录么?"这要怎么确定呀,我把struts.jar放到classpath下面了,就解决了"import org.apache.struts.action.*;"问题,可如"import com.ubo.db.DB;"这样的也用放吗,我个人认为不用吧
      

  16.   

    你手头没有源代码么?如果有,比如在jb新建一个project,把全部源代码放到新疆的jpx的文件路径下,jb能自动识别并建立树型结构的java书,一看就知道有没com.ubo....这么一个包了,实在不行,自己找找也应该不难啊。如果你手上只有class,那就比较麻烦了。
      

  17.   

    我还就是只有class,编这个的人好像是有意没给java文件的,而且我从没用过jb呀,只是听说过,都没见过,见笑了,我以前是用VB和ASP的,会java的人走了,经理让我加个java的程序,真是好难呀,ASP就不用设置这么多,不好我以感到jsp的好处了,各有优点吧,哈哈,题外话了
    我没有在classpath下面加"import com.ubo.db.DB;"等,因为我认为不应用,要不我加上试试?等会结果贴出
      

  18.   

    我在环境变量classpath中设置了D:\hljweb\WEB-INF\classes\com\ubo\db\DB.class,还是找不到呀,我这样设对吗,我还是认为不用设,是那里出错了呢,怎么就是找不到呀,为什么在正在运行的服务器上也找不到呢,那这是怎么编译成class文件的呀?5555555555
      

  19.   

    各位我解决了,我是犯了常识性的错误码呀,我把我写的java文件放在D:\hljweb\WEB-INF\classes\com\ubo\act\下了,然后编译他的,他从当前ACT目录向下找,当然找不到了呀,我把它放在D:\hljweb\WEB-INF\classes\下后,就可以找到了呀,哈哈,我真是笨呀谢谢大家了