gpt4 book ai didi

java - Gradle 定义测试的安全策略

转载 作者:太空宇宙 更新时间:2023-11-04 14:30:21 24 4
gpt4 key购买 nike

我想通过 gradle 在 Junit 测试中使用的安全管理器。我尝试了 jvmargs(不工作),现在我正在使用这个:

apply plugin: 'java'

test {
systemProperties << ['java.security.policy': file("$projectDir/security.policy").absolutePath]
}

...

Java 类

package hello;

import java.io.*;
import java.lang.*;

public class MyClass {
public void method() {
try {
File file = new File("/etc/passwd");
FileReader fr = new FileReader(file);
char [] a = new char[50];
fr.read(a);
for(char c : a)
System.out.print(c);
fr.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}

我的政策是:

grant {
permission java.io.FilePermission "/home/-", "read";
};

所以我希望在尝试读取 /etc/passwd 时遇到安全异常,但我没有。

最佳答案

Gradle User Guide section 46.2.3有一个关于为测试设置系统属性的示例,该测试与您的不同:

test {
systemProperties 'property': 'value'
}

也许你可以尝试使用该语法,这将是

test {
systemProperties 'java.security.policy': file("$projectDir/security.policy").absolutePath
}

关于java - Gradle 定义测试的安全策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26244653/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com