Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用logback的java.security.policy问题_Java_Slf4j_Logback - Fatal编程技术网

使用logback的java.security.policy问题

使用logback的java.security.policy问题,java,slf4j,logback,Java,Slf4j,Logback,以下代码使用LOG4J(和SLF4J)运行文件: 当将依赖项切换到“logback”而不是log4j时,它给出: 01:05:37.702 [main] DEBUG test.TestMain - Policy location: ./src/main/config/java.policy Exception in thread "main" java.security.AccessControlException: access denied (java.util.PropertyPermi

以下代码使用LOG4J(和SLF4J)运行文件:

当将依赖项切换到“logback”而不是log4j时,它给出:

01:05:37.702 [main] DEBUG test.TestMain - Policy location: ./src/main/config/java.policy 
Exception in thread "main" java.security.AccessControlException: access denied (java.util.PropertyPermission java.security.policy write) 
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323) 
at java.security.AccessController.checkPermission(AccessController.java:546) 
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532) 
at java.lang.System.setProperty(System.java:725) 
at test.TestMain.main(TestMain.java:18) 
在主方法的最后一行

java.policy文件的内容:

grant { 
    permission java.security.AllPermission; 
}; 
将java.policy文件放在“$java_HOME/jre/lib/security”中可以解决这个问题


任何人都可以告诉我发生了什么事吗?

我发现我们有3种解决方法:

1) 在初始化记录器之前初始化SecurityManager
2) 将$java_HOME/jre/lib/security中的java.policy替换为您的

3) 启动应用程序时将java.policy的位置作为系统属性传递:-Djava.security.policy=java.policy

我发现我们有3个选项来解决这个问题:

1) 在初始化记录器之前初始化SecurityManager
2) 将$java_HOME/jre/lib/security中的java.policy替换为您的

3) 启动应用程序时,将java.policy的位置作为系统属性传递:-Djava.security.policy=java.policy

这是我的问题还是log4j 2.0仍然不受欢迎?我给了你一个运行的例子来重现,但似乎没有人知道如何修复它。我在启动RMI注册表的代码中使用了SecurityManager。是我自己还是这个log4j 2.0仍然不受欢迎?我给了你一个运行的例子来重现,但似乎没有人知道如何修复它。我在启动RMI注册表的代码中使用SecurityManager。
grant { 
    permission java.security.AllPermission; 
};