我正在创建一个Maven Web应用程序,它在policy
文件夹中存储了许多策略文件。我的源文件夹布局如下所示:
我尝试将文件夹路径设置为policyLocation,如下所示:
try {
// InputStream aa =
// Accesscontrol.class.getClass().getResource(aa);
String AbsolutePath = new File("/").getAbsolutePath();
String policyLocation = (new File("."))
.getCanonicalPath() + File.separator + "policy";
System.setProperty(
FileBasedPolicyFinderModule.POLICY_DIR_PROPERTY,
policyLocation);
} catch (IOException e) {
System.err.println("Can not locate policy repository");
}
但这是返回我的Eclipse文件夹。无论如何,我可以在java Web应用程序中获取不在Resource文件夹内的策略文件夹(因为它不能包含在Resource中)?
答案 0 :(得分:0)
请记住,您的应用程序有多种运行方式:
首先,您必须确保您的构建过程(maven)在可以引用的已知位置包含可分发的策略文件(例如,在 war 文件中)。然后,您可以修改 jar 或 war 中的类路径,并确保您的策略文件位于类路径中。
通过这样的设置,您所要做的就是将其作为资源as per this answer
来解决