WildFly部署仅在独立模式下运行,但在Eclipse中不起作用

时间:2016-11-15 14:04:19

标签: eclipse wildfly java-ee-7 wildfly-10

我正在尝试详细学习JavaEE 7,我从数据库中获取记录并将其显示在JSF页面上时遇到问题。

我使用WildFly 10.1.0和Oracle XE11。我创建了以下数据源:

<datasource jndi-name="java:/supportApp" pool-name="OracleDS" enabled="true">
    <connection-url>jdbc:oracle:thin:@localhost:1521:xe</connection-url>
    <driver>oracle</driver>
    <pool>
        <min-pool-size>1</min-pool-size>
        <max-pool-size>5</max-pool-size>
        <prefill>true</prefill>
    </pool>
    <security>
        <user-name>username</user-name>
        <password>password</password>
    </security>
</datasource>

JBoss管理界面中的连接测试成功。

这是我的persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1"
  xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
  <persistence-unit name="SupportApp" transaction-type="JTA">
  <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <jta-data-source>java:/supportApp</jta-data-source>
    <shared-cache-mode>NONE</shared-cache-mode>
    <class>org.model.User</class>
  </persistence-unit>
</persistence>

当我通过standalone.bat运行WildFly并通过mvn clean package wildfly:deploy部署我的应用程序时,它可以正常工作。

当我在Eclipse中启动服务器并尝试使用相同的命令部署我的应用程序时,它失败了 - 因为我添加了JPA部分。我得到的错误信息是:

  

14:48:40,768 INFO [org.jboss.as.jpa](MSC服务主题1-1)WFLYJPA0002:读取SupportApp的persistence.xml

     

14:48:40,782 ERROR [org.jboss.as.controller.management-operation](management-handler-thread-8)WFLYCTL0013:操作(“完全替换 - 部署”)失败 - 地址:([] ) - 失败描述:{

"WFLYCTL0412: Required services that are not installed:" => ["jboss.naming.context.java.supportApp"],

"WFLYCTL0180: Services with missing/unavailable dependencies" => [

    "jboss.persistenceunit.\"SupportAppEJB-0.0.1-SNAPSHOT.jar#SupportApp\" is missing [jboss.naming.context.java.supportApp]",

    "jboss.persistenceunit.\"SupportAppEJB-0.0.1-SNAPSHOT.jar#SupportApp\".__FIRST_PHASE__ is missing [jboss.naming.context.java.supportApp]"

]
     

}

这似乎是持久性单元的问题,但我不明白问题是什么以及如何解决它。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

它认为当eclipse问我关于服务器运行时它安装了第二个wildfly应用服务器。因此,我在手动安装的standalone.xml中的更改没有考虑到服务器eclipse启动时的情况。将服务器运行时更​​改为我手动安装wildfly并配置数据源的路径后,它就像魅力一样。