你要使用的是Tomcat服务器则必须打包,而使用resin服务器则不用打包,这没什么可说的
现在假设你使用的是Tomcat服务器,而你又想把test.java文件放在你自己建的bb文件夹内,当你在写test.java文件时,要打包(package bb;),这时你要执行调用Bean的文件时,需要加入import bb.bb.test;这样Tomcat才会找到test.java文件并生成字节码文件我是这样认为的,仅供参考!!

解决方案 »

  1.   

    在哪有resin,如何配置?
    在tomcat中 我在java文件中加入了import bb.test;还是着布道test类
      

  2.   

    同一个包bb内的文件如何调用 import bb.DbAccess;  显示 cannot resolve symbol
     symbol:class DbAccess   DbAccess db=new DbAccess(); 两处错,都与DbAccess有关。
    听说要配置classpath,我吧bb的路径加进了,也没有解决,怎么办呀?帮帮我!
      

  3.   

    classpath 好像是resin里面的config配置虚拟目录的是吧
    我也是菜鸟
      

  4.   

    各位哥哥帮帮忙,如果把每个文件的头package bb;去掉,则能编译成功,但jsp不通过;加上package bb;(并引用同包中已编译好的其他类),则通不过编译。弄了一晚上不行,救救我吧
      

  5.   

    你用什么来编写JAVA呀,用jcreate试试,我从来没有出现过加入package编译不成功问题,是不是你的有些类没有包进来呀?
      

  6.   

    对来将你的包目录加入classpath,(classpath=../bb/),你的class就可以相互调用了
      

  7.   

    别急,慢慢来,首先假设你在Tomcat下,将你的test来编译之后,因为test在bb 这个包下,所以
    必须在WEB-INF\classes下建文件夹bb然后将test放到bb文件夹下,之后在jsp文件中加入 :
       <%@ page import ="bb.test"%>
      应该没问题了
      

  8.   

    我是用ultraEdit来写的。我是这样做的:两个java文件都package bb;然后吧文件防在
     WEB-INF\classes\bb下面(1.java;2.java),2要引用1.class,1.java能编译通过;编译2.java时就有问题了(import bb.*;),设置了classpath 指向bb。
    不知我这样做对不对?
      

  9.   

    必须要
    package 否则不行的
      

  10.   

    根据我看你写的,我认为你有一个误区,那就是你以为package bb;这一句,打成的包需要你手工来创建一个bb文件夹,要不,然后你怎么在classes下建一个bb,而用import时又写成这样import bb.DbAccess;  这是错误的,当JDK成功编译DbAccess.java时,会自动生成一个bb文件夹,而在bb文件夹下面会生成DbAccess.class字节码文件,所以我在前面告诉你的,如果你在classes下建了个bb文件夹而打成的包名也是bb,那调用时就要这样写
    import bb.bb.DbAccess这种结构大家共同讨论~~~
      

  11.   

    例:当package test的时候,1.java和2.java都用了这个语句,若在2.java里还调用了1.java把1.java和2.java都copy到classes目录里,你用的是cmd的话,那么就要先打javac那个1.java生成包test,这时再javac那个2.java就可以了吧,
    要是用jcreator可以直接编 译2.java就可以生成两个了,哈哈
      

  12.   

    wbs0770(温故而知新) : 我手工建了个包bb在classes下面,import bb.bb.DbAccess;问题还是一样的。
      是不是我package bb;就一定手工建立文件夹\WEB-INF\classes\bb?
      

  13.   

    不是的!
    我建议你先把你手工建的bb文件夹删了,然后把你写的DbAccess.java文件放到\WEB-INF\classes下面,这时你编译DbAccess.java文件,如果编译成功,你会发现\WEB-INF\classes下面自动会生成bb文件夹,而在里面就是你想要的DbAccess.class文件了,这时你调用时就可以写成import bb.DbAccess
    不知道这样说你明白没有?
      

  14.   

    还有把你调用bean的页面贴出来,我看你是怎么写的
      

  15.   

    package bb;import java.sql.*;public class DbAccess implements java.io.Serializable {  private Connection connection;
      private Statement statement;  public DbAccess ()
          throws ClassNotFoundException, SQLException
      {    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        connection = DriverManager.getConnection
          ("jdbc:odbc:student");
        connection.setAutoCommit(false);    statement = connection.createStatement();
      }  public void executeUpdate(String sqlCommand)
        throws SQLException
      {
        statement.executeUpdate(sqlCommand);
      }  public ResultSet executeQuery(String sqlCommand)
        throws SQLException
      {
        return statement.executeQuery(sqlCommand);
      }  public void commit() throws SQLException
      {
        connection.commit();
      }  public void rollback() throws SQLException
      {
        connection.rollback();
      }  protected void finalize() throws SQLException
      {
        statement.close();
        connection.close();
      }
    }
      

  16.   

    package bb;
    import bb.DbAccess;
    import java.sql.*;
    public class CreateMessageBoardTables {  public static void main(String args[])
        throws SQLException, ClassNotFoundException {    DbAccess db = new DbAccess();    db.executeUpdate("CREATE TABLE USERS (" +
                         "USERNAME VARCHAR(32) NOT NULL, " +
                         "PASSWORD VARCHAR(32), " +
                         "PRIMARY KEY(USERNAME))");    db.executeUpdate("CREATE TABLE MESSAGES (" +
                         "WHENMADE VARCHAR(36) NOT NULL, " +
                         "USERNAME VARCHAR(32) NOT NULL, " +
                         "SUBJECT VARCHAR(100), " +
                         "BODY MEMO, " +
                         "PRIMARY KEY(WHENMADE))");    db.executeUpdate("CREATE TABLE MESSAGETREE (" +
                         "WHENMADE VARCHAR(36) NOT NULL, " +
                         "THREADROOT VARCHAR(36) NOT NULL, " +
                         "FIRSTBORN VARCHAR(36), " +
                         "NEXTSIB VARCHAR(36), " +
                         "PRIMARY KEY(WHENMADE))");    db.commit();  }
    }
      

  17.   

    wbs0770(温故而知新) :
    没有如你说的,自动生成bb,我用的是tomcat 5.0.14 ,win2000 server
      

  18.   

    你把引用的类和这个文件放到同一个文件中,然后使用javac *.java
      

  19.   

    我先编译DbAccess通过,把它的class防入bb内,其他两个文件不放在bb内,在别处编译通过后,再把后两个的class防入bb中,过程是这样的吗?是不是有个先后顺序?哪,先不编译,同时放在bb中又如何编译呢?文件头要改写吗?如何写?
      

  20.   

    不会吧
    你连第一个程序也没有编译成功?
    第二个程序你怎么还package啊?你把第二个程序package bb;注释掉再编译
    还有就是搞清楚你是想做什么,你是想用JDBC-ODBC连接数据库吧,第一个程序可能是你做的连接池,对于这种方法我也不熟悉,我都是把驱动程序放到common\lib下面这种方法的。大家一起交流~~~~
      

  21.   

    我建议你当保存.java文件时就放在\WEB-INF\classes下面,然后再编译,不要在别的地方生成.class再拷贝到\WEB-INF\classes下面
      

  22.   

    可能是你在引用的时候不对:正错引用格式是:包名:类名
    入classes\dbconn\connection.class;
    import dbconn.connection.*;
      

  23.   

    第一个编译通过,但是没有自动生成bb文件夹,要手动才行。
    我是在classes 下编译的,编译好的class文件移到bb中。难道不是这样做的吗?
    你说的自动生成的bb,是用的什么版本的tomcat,我的是5.0.14。
    javaBean不是一定要打包的吗?光在classes下编译是能通过的,但调用Jsp时要出错
      

  24.   

    提示:包不存在,classpath中加了
      

  25.   

    在ultraedit中不能编译,在sun one下编译成功,jsp可以运行。不明白,在ulteraedit中实际用的是javac和java命令,怎么会产生这种问题呢?