猿问

运行 jar 文件获取 java.lang.Security异常: 禁止的软件包名称

我从eclipse编译了jar文件(包需要lib...),然后当我运行它时,它给了我安全例外:禁止的包名称:java.sql,当我在eclipse中运行代码时,这不会发生。


我看到很多人指出这个问题可能是由于将其中一个包命名为“java.*”引起的,但我仔细检查了没有名为“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

操作系统: 苹果操作系统莫哈韦 10.14.2;

Java 版本: 9.0.4;

Java(TM) SE 运行时环境 (构建 9.0.4+11);

日食版本:氧气.2释放(4.7.2)


附言:我没有使用 mysql 或任何其他 sql 驱动程序。


编辑:当我在eclipse中运行代码时,它可以完美地工作。


感谢您的帮助!


婷婷同学_
浏览 345回答 1
1回答

慕田峪7331174

选择提取所需的库,同时在 Jar 生成器中设置库处理选项。:)
随时随地看视频慕课网APP

相关分类

Java
我要回答