[英]Error deploying war into JBoss AS 7 (domain mode): “Failed to process phase STRUCTURE of deployment”
我正在嘗試在域模式下將我的戰爭部署到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] 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] at org.jboss.vfs.VirtualFile.getPathNameRelativeTo(VirtualFile.java:110) [jboss-vfs-3.1.0.Final.jar:3.1.0.Final]
[Server:node02] at org.jboss.as.server.deployment.module.ManifestClassPathProcessor.createAdditionalModule(ManifestClassPathProcessor.java:193) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
[Server:node02] at org.jboss.as.server.deployment.module.ManifestClassPathProcessor.handlingExistingClassPathEntry(ManifestClassPathProcessor.java:185) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
[Server:node02] at org.jboss.as.server.deployment.module.ManifestClassPathProcessor.deploy(ManifestClassPathProcessor.java:162) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
[Server:node02] at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
[Server:node02] ... 5 more
[Server:node02]
[Server:node02] 13:51:46,060 INFO [org.jboss.as.server] (host-controller-connection-threads - 3) JBAS015870: Deploy of deployment "ROOT.war" was rolled back with failure message {"JBAS014671: Failed services" => {"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] 13:51:46,062 INFO [org.jboss.as.server.deployment] (MSC service thread 1-9) JBAS015877: Stopped deployment ROOT.war in 1ms
[Server:node02] 13:51:46,063 INFO [org.jboss.as.controller] (host-controller-connection-threads - 3) JBAS014774: Service status report
[Server:node02] JBAS014777: Services which 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]
我的jboss-deployment-structure.xml如下所示
<?xml version='1.0' encoding='UTF-8'?>
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.1">
<deployment>
<exclusions>
<module name="org.slf4j" />
<module name="org.slf4j.impl" />
<!-- <module name="org.hibernate" /> -->
</exclusions>
<!-- This allows you to define additional dependencies, it is the same
as using the Dependencies: manifest attribute -->
<dependencies>
<module name="deployment.sun.jdk" />
</dependencies>
</deployment>
<!-- This is a module that re-exports the containers version of javassist.util.proxy -->
<!-- This means that there is only one version of the Proxy classes defined -->
<module name="deployment.sun.jdk">
<dependencies>
<module name="sun.jdk">
<imports>
<include path="com/sun/crypto" />
<include path="com/sun/crypto/provider" />
<include path="com/sun/image/codec/jpeg" />
<include path="com/sun/org/apache/xml/internal/resolver" />
<include path="com/sun/org/apache/xml/internal/resolver/tools" />
</imports>
</module>
</dependencies>
</module>
</jboss-deployment-structure>
這是JBOSS AS 7.1.1-Final中的一個錯誤,它已在新版本中修復。
作為好的arcticle JBoss AS 7.1.2和7.1.3的奇怪案例解釋了JBoss AS 7.1.1充滿了bug。
所以我從源代碼構建了JBoss 7.2.0,不再出現此錯誤。
我剛剛遇到了EAP 6.1和JBoss Developer Studio 6.0的這個問題。 我已經從使用EAP Server 6.0轉到6.1。 解決方法是從我的機器中刪除有問題的* .war文件的所有實例,然后在重新啟動新的EAP 6.1運行時服務器后執行.war項目的完全發布。
當我將我的應用程序從jboss5升級到jboss-as-7.1.1時,我也面臨同樣的問題。經過一整天的研究,將版本更改為jboss-as-7.1.3.Final解決了我的問題。
jboss-as-7.1.3.Final
不能直接下載,開發人員必須自己構建它, building-jboss-as-7.1.3.Final顯示構建jboss-as-7.1.3.Final的完整過程。
希望這能有所幫助。
我也面臨同樣的問題,在將java jdk 1.6改為1.7之后解決它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.