[英]Mysql Connector not working for Eclipse Juno on JDK 1.7
我有一個Java程序,可以在MySQL數據庫上執行CRUD。
為此,我一直在使用:
Eclipse Indigo
Java 1.6
MySql-Connector-java-5.1.19-bin.jar
我嘗試在新機器上執行以下代碼:
Eclipse Juno
Java 1.7
MySql-Connector-java-5.1.19-bin.jar.
我已經將MySql連接器添加到Eclipse Juno中的項目的Build Path中。
但是,ant構建失敗,並出現有關缺少類和軟件包的錯誤,這些錯誤應從連接器中獲取:
Buildfile: /home/rudra/Softwares/openfire/openfire_src/build/build.xml
init:
compile:
[javac] Compiling 14 source files to /home/rudra/Softwares/openfire/openfire_src/work/classes
[javac] warning: [options] bootstrap class path not set in conjunction with -source 1.5
[javac] /home/rudra/Softwares/openfire/openfire_src/src/java/org/jivesoftware/openfire/UserDB.java:3: error: package com.mysql.jdbc does not exist
[javac] import com.mysql.jdbc.Connection;
[javac] ^
[javac] /home/rudra/Softwares/openfire/openfire_src/src/java/org/jivesoftware/openfire/UserDB.java:4: error: package com.mysql.jdbc does not exist
[javac] import com.mysql.jdbc.PreparedStatement;
[javac] ^
[javac] /home/rudra/Softwares/openfire/openfire_src/src/java/org/jivesoftware/openfire/UserDB.java:5: error: package com.mysql.jdbc does not exist
[javac] import com.mysql.jdbc.ResultSet;
[javac] ^
[javac] /home/rudra/Softwares/openfire/openfire_src/src/java/org/jivesoftware/openfire/UserDB.java:21: error: cannot find symbol
[javac] PreparedStatement stat = (PreparedStatement)connect.prepareStatement(query2);
[javac] ^
[javac] symbol: class PreparedStatement
[javac] location: class UserDB
[javac] /home/rudra/Softwares/openfire/openfire_src/src/java/org/jivesoftware/openfire/UserDB.java:21: error: cannot find symbol
[javac] PreparedStatement stat = (PreparedStatement)connect.prepareStatement(query2);
[javac] ^
[javac] symbol: class PreparedStatement
[javac] location: class UserDB
[javac] /home/rudra/Softwares/openfire/openfire_src/src/java/org/jivesoftware/openfire/UserDB.java:21: error: cannot find symbol
[javac] PreparedStatement stat = (PreparedStatement)connect.prepareStatement(query2);
[javac] ^
[javac] symbol: method prepareStatement(String)
[javac] location: variable connect of type Connection
[javac] /home/rudra/Softwares/openfire/openfire_src/src/java/org/jivesoftware/openfire/UserDB.java:23: error: cannot find symbol
[javac] ResultSet result = (ResultSet) stat.executeQuery();
[javac] ^
[javac] symbol: class ResultSet
[javac] location: class UserDB
[javac] /home/rudra/Softwares/openfire/openfire_src/src/java/org/jivesoftware/openfire/UserDB.java:23: error: cannot find symbol
[javac] ResultSet result = (ResultSet) stat.executeQuery();
[javac] ^
[javac] symbol: class ResultSet
[javac] location: class UserDB
[javac] /home/rudra/Softwares/openfire/openfire_src/src/java/org/jivesoftware/openfire/UserDB.java:28: error: cannot find symbol
[javac] PreparedStatement preparedStmt = (PreparedStatement) connect.prepareStatement(query);
[javac] ^
[javac] symbol: class PreparedStatement
[javac] location: class UserDB
[javac] /home/rudra/Softwares/openfire/openfire_src/src/java/org/jivesoftware/openfire/UserDB.java:28: error: cannot find symbol
[javac] PreparedStatement preparedStmt = (PreparedStatement) connect.prepareStatement(query);
[javac] ^
[javac] symbol: class PreparedStatement
[javac] location: class UserDB
[javac] /home/rudra/Softwares/openfire/openfire_src/src/java/org/jivesoftware/openfire/UserDB.java:28: error: cannot find symbol
[javac] PreparedStatement preparedStmt = (PreparedStatement) connect.prepareStatement(query);
[javac] ^
[javac] symbol: method prepareStatement(String)
[javac] location: variable connect of type Connection
[javac] /home/rudra/Softwares/openfire/openfire_src/src/java/org/jivesoftware/openfire/UserDB.java:41: error: cannot find symbol
[javac] PreparedStatement statement = (PreparedStatement) connect.prepareStatement("Insert into user values (?,?,?);");
[javac] ^
[javac] symbol: class PreparedStatement
[javac] location: class UserDB
[javac] /home/rudra/Softwares/openfire/openfire_src/src/java/org/jivesoftware/openfire/UserDB.java:41: error: cannot find symbol
[javac] PreparedStatement statement = (PreparedStatement) connect.prepareStatement("Insert into user values (?,?,?);");
[javac] ^
[javac] symbol: class PreparedStatement
[javac] location: class UserDB
[javac] /home/rudra/Softwares/openfire/openfire_src/src/java/org/jivesoftware/openfire/UserDB.java:41: error: cannot find symbol
[javac] PreparedStatement statement = (PreparedStatement) connect.prepareStatement("Insert into user values (?,?,?);");
[javac] ^
[javac] symbol: method prepareStatement(String)
[javac] location: variable connect of type Connection
[javac] /home/rudra/Softwares/openfire/openfire_src/src/java/org/jivesoftware/openfire/UserDB.java:73: error: cannot find symbol
[javac] PreparedStatement statement = (PreparedStatement) connect.prepareStatement(query);
[javac] ^
[javac] symbol: class PreparedStatement
[javac] location: class UserDB
[javac] /home/rudra/Softwares/openfire/openfire_src/src/java/org/jivesoftware/openfire/UserDB.java:73: error: cannot find symbol
[javac] PreparedStatement statement = (PreparedStatement) connect.prepareStatement(query);
[javac] ^
[javac] symbol: class PreparedStatement
[javac] location: class UserDB
[javac] /home/rudra/Softwares/openfire/openfire_src/src/java/org/jivesoftware/openfire/UserDB.java:73: error: cannot find symbol
[javac] PreparedStatement statement = (PreparedStatement) connect.prepareStatement(query);
[javac] ^
[javac] symbol: method prepareStatement(String)
[javac] location: variable connect of type Connection
[javac] /home/rudra/Softwares/openfire/openfire_src/src/java/org/jivesoftware/openfire/UserDB.java:75: error: cannot find symbol
[javac] ResultSet result = (ResultSet) statement.executeQuery();
[javac] ^
[javac] symbol: class ResultSet
[javac] location: class UserDB
[javac] /home/rudra/Softwares/openfire/openfire_src/src/java/org/jivesoftware/openfire/UserDB.java:75: error: cannot find symbol
[javac] ResultSet result = (ResultSet) statement.executeQuery();
[javac] ^
[javac] symbol: class ResultSet
[javac] location: class UserDB
誰能幫我這個?
從這個問題中得到啟示:
假設您在build.xml中有一個類似於以下內容的編譯目標:
<!-- Compile application -->
<target name="compile">
<mkdir dir="${classes.dir}"/>
<javac srcdir="${src.dir}" destdir="${classes.dir}" debug="yes" includeantruntime="false">
<classpath refid="classpath" />
</javac>
</target>
成功編譯所需的所有條件是定義類路徑,以使其包含項目的lib目錄中的所有jar,例如:
<path id="classpath">
<fileset dir="${lib.dir}" includes="*.jar"/>
</path>
我從您的問題中了解到,您已經在Eclipse項目中添加了對連接器jar的引用。 將連接器jar復制到Eclipse項目的lib文件夾后,您可以嘗試上述建議。
另外,盡管我認為這不是一個很好的建議,但是您可以將項目導出為Ant Build並檢查由此生成的build.xml。 可以通過轉到文件->導出,鍵入'ant'進行過濾,然后選擇'Ant Buildfiles'來完成,如下所示:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.