首页 > 解决方案 > 在类路径中覆盖 mssql-jdbc 驱动程序时如何解决错误 - 在类中找不到主方法

问题描述

我希望我的 java 应用程序使用 jdbc 7.4.1 版本。经过研究,我发现覆盖类路径是一种方法。但我得到了错误。

环境:RHEL

覆盖类路径

java -cp /home/xyz/sqljdbc_7.4/enu/mssql-jdbc-7.4.1.jre8.jar com.microsoft.sqlserver.jdbc.SQLServerDriver

错误

Error: Main method not found in class com.microsoft.sqlserver.jdbc.SQLServerDriver, please define the main method as:
   public static void main(String[] args)
or a JavaFX application class must extend javafx.application.Application

问题:这是正确的方法还是有其他/更好的方法来完成同样的事情?其次,如何解决我遇到的错误?

标签: javaclasspath

解决方案


随着线

java -cp /home/xyz/sqljdbc_7.4/enu/mssql-jdbc-7.4.1.jre8.jar com.microsoft.sqlserver.jdbc.SQLServerDriver

您正在执行 com.microsoft.sqlserver.jdbc.SQLServerDriver类路径设置为的类,/home/xyz/sqljdbc_7.4/enu/mssql-jdbc-7.4.1.jre8.jar这就是您收到上面给出的错误的原因。因为 jvm 试图在 jar com.microsoft.sqlserver.jdbc.SQLServerDriver 中找到主入口点(public static void main())。我猜你想在类路径中设置两个 jar 并执行你自己的程序。你必须这样称呼它:

java -cp .:/home/xyz/sqljdbc_7.4/enu/mssql-jdbc-7.4.1.jre8.jar:com.microsoft.sqlserver.jdbc.SQLServerDriver <place your jarfile here>

推荐阅读