Java编译有2个类

时间:2010-09-06 19:17:14

标签: java

这是一个非常简单的java OOP,但我有一段时间没有这样做...当从另一个引用一个java类时,我得到一个“找不到符号”错误

第1课:

package toaV2;

import java.sql.Connection;

public class vehicle_model
{
    public db_model DB;
    public Connection conn;

    public static void main(String[] args) {
        vehicle_model v = new vehicle_model("system");
    }

    public vehicle_model(String sys) {      
        DB = new db_model(sys);
        conn = DB.connect();

        if(conn != null) {
            System.err.println("Got a connection.");
        }
        else {
            System.err.println("Couldn't get a connection...");         
        }
    }
}

第2课:

package toaV2;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class db_model
{
    private static String driver = "com.mysql.jdbc.Driver";

    private static String dbUser = "user";
    private static String dbPass = "pass";
    private static String dbUrl = "jdbc:mysql://url";

    private static String system;
    public static Connection conn;

    public db_model(String sys)
    {
        system = sys;
    }

    public static Connection connect()
    {
        conn = null;
        try
        {
            String dbName = system.toUpperCase();
            String dbHost = dbUrl + dbName;

            Class.forName(driver).newInstance();
            conn = DriverManager.getConnection(dbUrl, dbUser, dbPass);
        } 
        catch(Exception e) 
        {
          System.err.println("Exception: " + e.getMessage());
        }

        return conn;
    }
}

我在编译时遇到的错误:

$ javac vehicle_model.java 
vehicle_model.java:10: cannot find symbol
symbol  : class db_model
location: class toaV2.vehicle_model
    public db_model DB;
               ^
vehicle_model.java:24: cannot find symbol
symbol  : class db_model
location: class toaV2.vehicle_model
        DB = new db_model(system);
                         ^
2 errors

2 个答案:

答案 0 :(得分:1)

您需要在编译时为其他java文件提供类路径。 即javac -classpath path / to / class2 vehicle_model.java

答案 1 :(得分:0)

您必须在同一命令中编译两个文件,例如

 javac vehicle_model.java db_model.java