我從eclipse編譯了jar文件(包需要lib...),然后當(dāng)我運(yùn)行它時,它給了我安全例外:禁止的包名稱:java.sql,當(dāng)我在eclipse中運(yùn)行代碼時,這不會發(fā)生。我看到很多人指出這個問題可能是由于將其中一個包命名為“java.*”引起的,但我仔細(xì)檢查了沒有名為“java”的包。{某物}“。以下是完整的錯誤跟蹤:Exception in thread "main" java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:564) at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)Caused by: 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 com.fasterxml.jackson.databind.ser.std.StdJdkSerializers.all(StdJdkSerializers.java:55) at com.fasterxml.jackson.databind.ser.BasicSerializerFactory.<clinit>(BasicSerializerFactory.java:93) ... 12 more操作系統(tǒng): 蘋果操作系統(tǒng)莫哈韋 10.14.2;Java 版本: 9.0.4;Java(TM) SE 運(yùn)行時環(huán)境 (構(gòu)建 9.0.4+11);日食版本:氧氣.2釋放(4.7.2)附言:我沒有使用 mysql 或任何其他 sql 驅(qū)動程序。編輯:當(dāng)我在eclipse中運(yùn)行代碼時,它可以完美地工作。感謝您的幫助!
運(yùn)行 jar 文件獲取 java.lang.Security異常: 禁止的軟件包名稱
婷婷同學(xué)_
2022-09-22 16:04:30