Java 在一个JAR中导出JTD和我的项目?
我试图让我的应用程序与jTDS(MS SQL Server 2008)一起工作。因此,我做了以下工作:Java 在一个JAR中导出JTD和我的项目?,java,sql,sql-server-2008,jar,jtds,Java,Sql,Sql Server 2008,Jar,Jtds,我试图让我的应用程序与jTDS(MS SQL Server 2008)一起工作。因此,我做了以下工作: 下载了最新的jTDS驱动程序(1.3.0) 将驱动程序粘贴到项目文件夹中 通过添加jar和 在订单和导出选项卡中,我选择了所有条目 然后我出口了这个罐子。由于它不是一个可运行的jar,我后来对它进行了测试,但它似乎找不到我的驱动程序(java.lang.ClassNotFoundException:net.sourceforge.jtds.jdbc.driver) 当我在Eclipse中测
- 下载了最新的jTDS驱动程序(1.3.0)
- 将驱动程序粘贴到项目文件夹中
- 通过添加jar和
- 在
选项卡中,我选择了所有条目订单和导出
java.lang.ClassNotFoundException:net.sourceforge.jtds.jdbc.driver
)
当我在Eclipse中测试它时,只执行以下内容:
public static void main(String[] args) {}
String classForName = "net.sourceforge.jtds.jdbc.Driver";
try
{
// embedding driver for sql connection
Class.forName(classForName);
con = java.sql.DriverManager.getConnection(getConnectionUrl(), user, pass);
if (con != null)
{
JOptionPane.showMessageDialog(null, "Connection Successful!");
}
}
catch (Exception e)
{
Log.writeStackTrace(e);
}
}
。。然后它就像一个符咒。所以在我看来,问题似乎在于包括我的jTDS jar。我错过什么了吗?该死,我只是来晚了一点
标准Java类加载器不支持在JAR中嵌套JAR。您可以将Jar组合在一起(正如您所做的那样!),也可以将更复杂的类加载器与类似于一个Jar的东西一起使用(http://one-jar.sourceforge.net/).您的代码将在哪里运行,以及如何打包?它是一个web应用程序还是桌面应用程序?它是一个桌面应用程序,它将作为一种api在本地运行。@Zutty我知道了!通过创建一个空的
publicstaticvoidmain
方法并将jar导出为可运行的,它将我所有的外部jar打包成一个。不过,我想知道,如果没有本演练,是否就没有使用外部罐子导出的解决方案?呵呵:)在您试图提供帮助时,我仍然会标记您的答案,以及您的单罐子建议;)