2012-08-04 34 views
0

我有一个在MySQL数据库上执行CRUD的Java程序。Mysql连接器在JDK 1.7上不能用于Eclipse Juno

对于这一点,我一直在使用:

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中项目的构建路径。

然而,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 

谁能帮助我?

+0

在Eclipse中定义的构建路径不一定是路径的蚂蚁:>导出,键入“蚁族”来过滤,然后选择“蚂蚁构建文件”,像这样 - 这可以通过将文件中完成构建文件确实使用。也许你必须修改build.xml?! – home 2012-08-04 12:06:16

+1

向我们展示您的build.xml – 2012-08-04 12:09:25

+0

[链接] http://dl.dropbox.com/u/10031542/build.xml – 2012-08-04 12:51:38

回答

0

this问题得到暗示:

假设你在你的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的引用。在之后,你可以尝试上述建议复制Eclipse项目的lib文件夹内的连接器jar。

另外,虽然在我看来并不是一个很好的建议,但您可以将项目导出为Ant Build并检查由此生成的build.xml。

Export as Ant BuildFiles

+0

谢谢。这在一定程度上起作用。将错误数从19个减少到5个。 – 2012-08-04 13:16:19

+0

[javac] /home/rudra/Softwares/openfire/openfire_src/src/java/org/jivesoftware/openfire/UserDB.java:5: error: cannot find symbol [javac] import com.mysql.jdbc.ResultSet; [javac] ^ [javac] symbol: class ResultSet [javac] location: package com.mysql.jdbc
2012-08-04 13:24:59

+0

@ AshutoshJindal-非常感谢。最后解决了与ResultSet相关的问题。我正在使用'code'com.mysql.jdbc.ResultSet。当我更改为'code'java.sql.ResultSet时,没有错误。 – 2012-08-04 13:34:02

相关问题