gpt4 book ai didi

java - 如何在 Maven java web 应用程序中设置文件夹的相对路径?

转载 作者:行者123 更新时间:2023-11-28 22:27:46 35 4
gpt4 key购买 nike

我正在创建一个 Maven 网络应用程序,它将许多策略文件存储在 policy 文件夹中。我的源文件夹布局如下所示: enter image description here我尝试将文件夹路径设置为 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 内)?

最佳答案

请记住,您的应用程序有不止一种运行方式:

  • 在 IDE (Eclipse) 中自动为您完成某些事情(比如即时编译)
  • 当您使用 ma​​ven 构建您的网络应用程序时,您是将其构建为 jarwar 还是 ear ?构建完成后,您如何部署和运行它?

首先,您必须确保您的构建过程 (maven) 在您可以引用的已知位置包含可分发文件中的策略文件(例如,在 war 文件中)。然后您可以修改 jarwar 中的类路径,并确保您的策略文件位于类路径中。

有了这样的设置,您所要做的就是将其作为资源来处理 as per this answer

关于java - 如何在 Maven java web 应用程序中设置文件夹的相对路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34950228/

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