【发布时间】:2010-12-06 21:24:17
【问题描述】:
我有以下 java 代码,它给出了以下错误:
import java.io.File;
import java.io.FileOutputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import org.dbunit.database.DatabaseConnection;
import org.dbunit.database.IDatabaseConnection;
import org.dbunit.dataset.IDataSet;
import org.dbunit.dataset.xml.FlatXmlDataSet;
public class export {
public static void main(String[] args) throws Exception {
// database connection
Class.forName("net.sourceforge.jtds.jdbc.Driver");
Connection jdbcConnection = DriverManager.getConnection(
"jdbc:jtds:sqlserver://localhost:1433/exampleDB", "sa", "vista1");
IDatabaseConnection connection = new DatabaseConnection(jdbcConnection);
// full database export
IDataSet fullDataSet = connection.createDataSet();
FlatXmlDataSet.write(fullDataSet, new FileOutputStream("full.xml"));
}
}
错误:
$java 导出
Exception in thread "main" java.lang.NoClassDefFoundError: org/dbunit/database/IDatabaseConnection
Caused by: java.lang.ClassNotFoundException: org.dbunit.database.IDatabaseConnection
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: export. Program will exit.
正在编译的java文件名是export.java,编译后的文件名是export.class,我把dbunit-2.4.8.jar和jtds-1.2.5.jar文件放到了export.java同一个文件夹下和export.class;我正在使用以下 cmd 编译 export.java:
$ javac -cp "dbunit-2.4.8.jar;jtds-1.2.5.jar" export.java
知道我做错了什么吗?
【问题讨论】:
-
目标是使用 dbunit 将简单的 mssql DB 导出为平面 xml 文件。
-
还尝试了
DriverManager.registerDriver(new net.sourceforge.jtds.jdbc.Driver());,而不是我在其他示例中看到的Class.forName("net.sourceforge.jtds.jdbc.Driver");,但这不会改变产生的错误。
标签: java jdbc export dbunit jtds