在Java中的導入語句似乎是奇怪的,我檢查了Java的完整引用,我看不出爲什麼不起作用。Java導入問題
我有兩個文件在第一個/ mysql/MySQLAccess.java和另一個在第一個/ mysql/test/Main.java和一個導入語句在後者for first.mysql.MySQLAccess不起作用。
package first.mysql.test;
import first.mysql.MySQLAccess;
MySQLAccess.java與
package first.mysql;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Date;
public class MySQLAccess {
開始我不明白爲什麼這是行不通的,它應該很好地工作,除非我已經錯過了一些東西。我編譯MySQLAccess.java和它產生MySQLAccess.class
Main.java:1: error: package first.mysql does not exist
import first.mysql.MySQLAccess;
^
Main.java:5: error: cannot find symbol
MySQLAccess dao = new MySQLAccess();
^
symbol: class MySQLAccess
location: class Main
Main.java:5: error: cannot find symbol
MySQLAccess dao = new MySQLAccess();
^
symbol: class MySQLAccess
location: class Main
3 errors
我編譯:
[email protected]:~/devel/java/mysqlexample$ javac first/mysql/test/Main.java
的源代碼: 第一/ mysql /下MySQLAccess.java:http://pastebin.com/7WkewTEf 第一/ MySQL的/test/Main.java:http://pastebin.com/aSsn34fX
我已經找到了線索怪異的行爲,JAVA似乎並不喜歡像MySQLAccess.class ...
[email protected]:~/devel/java/mysqlexample$ java first/mysql/MySQLAccess.class
Error: Could not find or load main class first.mysql.MySQLAccess.class
你還沒說你怎麼編譯或什麼錯誤,這使得它很難幫助你。 – 2013-05-01 09:17:38
你在哪裏編譯它?第二個文件的編譯器能否找到它,即是否需要爲編譯器指定類路徑? – Rup 2013-05-01 09:18:11
我已將編譯器從名爲mysqlexample的文件夾運行到第一個/ mysql/MySQLAccess.java子目錄中的Java代碼以及第一個/ mysql/test/Main.java類文件與源文件一起運行。 – 2013-05-01 09:22:55