我正在尝试在域模式下将我的战争部署到JBoss AS 7中,我收到此错误:
[Server:node02] 13:51:46,049 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-11) MSC00001: Failed to start service jboss.deployment.unit."ROOT.war".STRUCTURE: org.jboss.msc.service.StartException in service jboss.deployment.unit."ROOT.war".STRUCTURE: Failed to process phase STRUCTURE of deployment "ROOT.war"
[Server:node02] at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:119) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
[Server:node02] at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
[Server:node02] at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
[Server:node02] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [rt.jar:1.6.0_30]
[Server:node02] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [rt.jar:1.6.0_30]
[Server:node02] at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_30]
[Server:node02] Caused by: java.lang.IllegalArgumentException: Given parent is not an ancestor of this virtual file
[Server:node02] at org.jboss.vfs.VirtualFile.getPathNameRelativeTo(VirtualFile.java:116) [jboss-vfs-3.1.0.Final.jar:3.1.0.Final]
[Server:node02] at org.jboss.vfs.VirtualFile.getPathNameRelativeTo(VirtualFile.java:122) [jboss-vfs-3.1.0.Final.jar:3.1.0.Final]
[Server:node02] at org.jboss.vfs.VirtualFile.getPathNameRelativeTo(VirtualFile.java:122) [jboss-vfs-3.1.0.Final.jar:3.1.0.Final]
[Server:node02] …Run Code Online (Sandbox Code Playgroud) 我一直在论坛上阅读如何阅读/编辑档案中的文件,但仍然无法得到我的答案.主要使用getResourceAsStream,并且必须在其类路径中.
我需要做的是,使用给定的文件路径作为输入读取和更新xml文件,然后将其重新部署到Tomcat.但到目前为止,我还是无法回答如何使用给定的完整路径作为输入编辑WAR归档内的AAR文件中的xml文件.有谁可以帮助我吗?
例如,我想编辑applicationContext.xml文件:
C:/webapp.WAR
从webapp.WAR文件:
webapp.WAR/WEB-INF /服务/ myapp.AAR
来自myapp.AAR:
myapp.AAR/applicationContext.xml中