涉及连接数据库的java导出成runnable jar后运行时报错
很简单的代码,只是试下能否连接数据库,代码如下
import java.sql.*;
public class ConnectDB {
private Connection con ;
private String dbDriver ="com.mysql.jdbc.Driver";
private String dbUrl ="jdbc:mysql://localhost:3306/users";
private String dbUserName ="9527";
private String dbPsw ="952777";
public Connection getCon(){
try {
Class.forName(dbDriver);
System.out.println("数据库驱动加载成功!");
try {
con = DriverManager.getConnection(dbUrl, dbUserName, dbPsw);
System.out.println("数据库链接成功!");
} catch (SQLException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
} catch (ClassNotFoundException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
System.out.println("数据库驱动加载出现异常!");
}
return con;
}
public void closeCon()
{
if(con!= null)
{
try {
con.close();
System.out.println("数据库关闭");
} catch (SQLException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
System.out.println("数据库关闭异常");
}
}
}
public static void main(String[] args) {
// TODO 自动生成的方法存根
ConnectDB myCon = new ConnectDB();
myCon.getCon();
myCon.closeCon();
}
}
cmd运行后报错:
Exception in thread "main" java.lang.SecurityException: Prohibited package name: java.sql
at java.base/java.lang.ClassLoader.preDefineClass(ClassLoader.java:889)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1005)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:545)
at java.base/java.net.URLClassLoader.access$100(URLClassLoader.java:83)
at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:453)
at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:447)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:446)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:563)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:375)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:56)