【问题标题】:Deployment OSGi bundle in JBoss EAP 6在 JBoss EAP 6 中部署 OSGi 包
【发布时间】:2012-08-09 06:48:30
【问题描述】:

我已经使用 JAX-WS 开发了 OSGi 包,并尝试将其部署到 jboss eap 6 中,但出现以下错误。

11:39:09,798 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC000001: Failed to start service jboss.deployment.unit."web-service.war".STRUCTURE: org.jboss.msc.service.StartException in service jboss.deployment.unit."web-service.war".STRUCTURE: JBAS018733: Failed to process phase STRUCTURE of deployment "web-service.war"
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:123) [jboss-as-server-7.1.2.Final-redhat-1.jar:7.1.2.Final-redhat-1]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA-redhat-1.jar:1.0.2.GA-redhat-1]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA-redhat-1.jar:1.0.2.GA-redhat-1]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [rt.jar:1.6.0_17]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [rt.jar:1.6.0_17]
at java.lang.Thread.run(Thread.java:619) [rt.jar:1.6.0_17]
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS018741: Failed to get manifest for deployment "/D:/jboss-eap-6.0/bin/content/web-service.war"
at org.jboss.as.server.deployment.module.ManifestAttachmentProcessor.deploy(ManifestAttachmentProcessor.java:74) [jboss-as-server-7.1.2.Final-redhat-1.jar:7.1.2.Final-redhat-1]
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:116) [jboss-as-server-7.1.2.Final-redhat-1.jar:7.1.2.Final-redhat-1]
... 5 more
Caused by: java.io.IOException: invalid header field
at java.util.jar.Attributes.read(Attributes.java:389) [rt.jar:1.6.0_17]
at java.util.jar.Manifest.read(Manifest.java:182) [rt.jar:1.6.0_17]
at java.util.jar.Manifest.<init>(Manifest.java:52) [rt.jar:1.6.0_17]
at org.jboss.vfs.VFSUtils.readManifest(VFSUtils.java:216)
at org.jboss.vfs.VFSUtils.getManifest(VFSUtils.java:199)
at org.jboss.as.server.deployment.module.ManifestAttachmentProcessor.deploy(ManifestAttachmentProcessor.java:70) [jboss-as-server-7.1.2.Final-redhat-1.jar:7.1.2.Final-redhat-1]
... 6 more

MANIFEST.MF 文件的代码是。

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: 1.6.0_16 (Sun Microsystems Inc.)
Built-By: langfr
Build-Jdk: 1.6.0_16
Bundle-ClassPath: WEB-INF/classes/
Private-Package: sahoo.hybridapp.jaxws1.webservice;version="1.0-SNAPSHOT"
Bundle-Version: 1.0.0.SNAPSHOT
Tool: Bnd-0.0.311
Bundle-Name: Web Service module of our application
Bnd-LastModified: 1270710909852
Bundle-ManifestVersion: 2
Bundle-SymbolicName: sahoo.hybridapp.jaxws1.web-service
Web-ContextPath: /hybridapp.jaxws1.web-service
Import-Package: javax.jws;version="2.0",
org.osgi.framework;version="1.5",
sahoo.hybridapp.jaxws1.service;version="1.0",
org.apache.axis2.client,
org.jboss.spec.javax.servlet.jboss-servlet-api_2.5_spec;version="1.0.1.Final-redhat-1",
org.apache.felix.log;version="1.0.0.redhat-1",
org.apache.felix.configadmin;version="1.2.8.redhat-1",
jboss-osgi-logging;version="1.0.0.redhat-1"

请任何人帮助我在我的 MANIFEST.MF 文件中出了什么问题。

谢谢。

【问题讨论】:

  • 清单对我来说看起来不错。作为 EAP 用户,您应该向 JBoss 提交支持案例。
  • 我假设您手动格式化了清单?续行至少应该在行首有一个空格。但是 bnd 可以做到这一点,即使是像 0.0.311 这样的古老版本......不过,您可能想要升级到更新的版本。

标签: jboss osgi jboss7.x


【解决方案1】:

据我所知,OSGi 包具有 .war 扩展名。尝试将其重命名为 web-service.jar

【讨论】:

  • 感谢您的回复,但仍然无法正常工作,我遇到了同样的错误。请任何其他解决方案..
  • 仔细观察,Manifest 中显然存在语法错误,因为 java.util.jar.Manifest 阅读器无法读取它。如果没有实际的存档,我无法真正看到它是什么,但这很可能是与 EAP 或 JBoss OSGi 无关的一般清单格式错误...
  • @DavidBosschaert 扩展名为 .war 的 OSGi 包有什么问题?进行 OSGified 战争,以及推荐(至少由 Thomas 推荐)不是记录在案的功能吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-09
  • 1970-01-01
相关资源
最近更新 更多