在 wildfly 10 上部署 Archiva

Archiva deployment on wildfly 10

当我尝试在 wildfly 10 上部署 archiva 2.2.1 时遇到以下问题。 有人可以帮我解决吗?

Unexpected HTTP response: 500

Request
{
    "operation" => "deploy",
    "address" => [("deployment" => "archiva.war")]
}

Response

Internal Server Error
{
    "outcome" => "failed",
    "failure-description" => {"WFLYCTL0180: Services with missing/unavailable dependencies" => ["jboss.naming.context.java.module.archiva.archiva.env.mail.Session is missing [jboss.naming.context.java.jboss.resources.mail.Session]"]},
    "rolled-back" => true
}

您需要在存档 JAR 的 WEB-INF/web.xml 文件中指定 JNDI 名称。

<resource-ref>
  <res-ref-name>mail/Session</res-ref-name>
  <res-type>javax.mail.Session</res-type>
  <jndi-name>java:jboss/mail/Default</jndi-name>
</resource-ref>

JNDI名称可参考standalone/configurations/standalone-full.xml.

<subsystem xmlns="urn:jboss:domain:mail:2.0">
    <mail-session name="default" jndi-name="java:jboss/mail/Default">
        <smtp-server outbound-socket-binding-ref="mail-smtp"/>
    </mail-session>
</subsystem>

注意邮件会话的 JNDI 名称是 java:jboss/mail/Default