Java 无法访问我的war文件
我有一个应用程序,它是一个ear文件,其中包含war和一些jar文件。我想使用java代码访问war的web inf文件夹。我尝试了很多,但没有找到任何可以帮助我访问war文件的东西 我根据jboss论坛提取了文件夹结构中的ear文件,但仍然无法访问web inf文件夹 我尝试了这段代码,但它返回的是jboss bin文件夹,而不是部署文件夹Java 无法访问我的war文件,java,jakarta-ee,jboss7.x,ear,Java,Jakarta Ee,Jboss7.x,Ear,我有一个应用程序,它是一个ear文件,其中包含war和一些jar文件。我想使用java代码访问war的web inf文件夹。我尝试了很多,但没有找到任何可以帮助我访问war文件的东西 我根据jboss论坛提取了文件夹结构中的ear文件,但仍然无法访问web inf文件夹 我尝试了这段代码,但它返回的是jboss bin文件夹,而不是部署文件夹 org.jboss.vfs.VirtualFile vFile = org.jboss.vfs.VFS.getChild("WEB-INF/config/
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是一个归档文件,这意味着您必须知道路径,解压缩归档文件或至少从归档文件中解压缩文件,更改它并再次压缩归档文件。这可能需要重新部署,或者触发器无法回忆它是否自动发生
如果您有用于配置的文件,我建议您将其存储在服务器配置中添加到的已知路径中。您不能以这种方式访问它。您可以做的是将其包含在构建路径中。然后您可以像访问任何资源文件一样访问它。因此,将它们复制到源文件夹中的文件夹中。例如-src\main\resources\config\custom.xml。您的java类将在src\main\java\中,您的资源文件也将在那里