我有一个应用程序,它是一个包含war和一些jar文件的ear文件。我想使用Java代码访问war的web-inf文件夹。我做了很多尝试,但是找不到任何可以帮助我访问战争档案的东西。

我根据jboss论坛将我的耳朵文件提取为文件夹结构,但仍然无法访问web-inf文件夹。

我尝试了此代码,但返回的是jboss bin文件夹,而不是部署文件夹

org.jboss.vfs.VirtualFile vFile = org.jboss.vfs.VFS.getChild("WEB-INF/config/custom.xml");
    org.jboss.vfs.VirtualFile vFile1 = org.jboss.vfs.VFS.getRootVirtualFile();


我也尝试使用JNDI,但无法解决主要问题。

InitialContext ic;
try {
    ic = new InitialContext();
    String moduleName = (String) ic.lookup("java:module/MyModule");
    String appName = (String) ic.lookup("java:app/devcenter");
    System.out.println("app name is : " + appName);
} catch (NamingException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}


谁能帮我?如何访问我的WEB-INF文件夹,以便可以在运行时更改xml内容?

最佳答案

简单的答案是你做不到。 EAR是一个档案,这意味着您必须知道路径,解压缩档案(或至少是档案中的文件),进行更改并再次压缩档案。这可能需要或触发(如果自动发生,则无法回忆)重新部署。

如果您有用于配置的文件,建议您将其存储在服务器配置中添加到paths的已知路径中。

关于java - 无法访问我的 war 文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21216239/

10-08 22:23
查看更多