2

我正在尝试在 WildFly 服务器上部署 Apache Isis 项目。

该项目只是simpleapp-archetype-1.10.0,它与mvn antrun:run -P self-hostmvn jetty:run-war一起启动并运行良好。

对于码头部分,我在父 pom.xml 的 org.eclipse.jetty 插件中添加了配置

<plugin>
    <groupId>org.eclipse.jetty</groupId>
    <artifactId>jetty-maven-plugin</artifactId>
    <version>9.3.2.v20150730</version>
    <configuration>
        <war>${project.basedir}/webapp/target/simpleapp.war</war>
    </configuration>
</plugin>

现在我想在 WildFly 服务器上部署它,但出现以下错误:

无法上传部署:{"WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"simpleapp.war\".WeldStartService" => "org.jboss.msc.service.StartException in service jboss.deployment.unit .\"simpleapp.war\".WeldStartService:无法启动服务原因:org.jboss.weld.exceptions.DeploymentException:WELD-001408:IsisJdoSupport 类型的依赖关系不满足,在注入点[BackedAnnotatedField] @Inject org 带有限定符@Default .apache.isis.objectstore.jdo.datanucleus.service.support.TimestampService.isisJdoSupport 在 org.apache.isis.objectstore.jdo.datanucleus.service.support.TimestampService.isisJdoSupport(TimestampService.java:0) "}}

我该如何解决这个错误,为什么码头会绕过这个错误?

4

1 回答 1

2

我通过 Apache Isis 邮件列表得到了答复。

该错误表明 WildFly 尝试执行 CDI 工作。Jetty 只是一个 Web 服务器,不支持 CDI 等 Java EE 的东西。尝试禁用此应用程序的 CDI 支持(我不知道具体如何)。

http://isis.markmail.org/message/d3coq6qus3rca7kx

要修复此错误:

使用以下代码将文件jboss-all.xml添加到Simple App Webapp/Web Pages/WEB-INF :

<jboss xmlns="urn:jboss:1.0">
    <weld xmlns="urn:jboss:weld:1.0" require-bean-descriptor="true"/>
</jboss>

https://docs.jboss.org/author/display/WFLY8/CDI+参考

归功于 Martin Grigorov。

于 2015-12-16T14:44:35.283 回答