java – 将WildFly应用程序服务器与NetBeans IDE一起使用

我习惯于一直使用GlassFish服务器.我正在将一个Java EE应用程序从GlassFish(4.0)迁移到WildFly 8.1.0 final.

我尝试在服务器上使用this plugin在NetBeans 8.0上使用WildFly 8.1.0 final,因为服务器没有内置插件.

但是,与GlassFish不同,即使启用了IDE上的“部署保存”选项,也不会将该应用程序部署在保存项目数据上.该应用程序导致非常奇怪/未知/异常的问题.例如,this question充满(仅)一些问题.

我将NetBeans升级到8.0.1(使用JSF到2.2.8-02),它有一个内置的WildFly-Plugin,但它也带来了与之前版本的IDE无关的所有差异.

在臭虫报告的this comment中,提到通过更改/添加对应于JDBC驱动程序的一些XML来进行修复,如下所示,

<driver name="mysql" module="com.mysql">
  <xa-datasource-class>
    com.mysql.jdbc.jdbc2.optional.MysqlDataSource
  </xa-datasource-class>
</driver>

我还对standalone-full.xml文件进行了此更改.这个特殊部分如下所示.

<subsystem xmlns="urn:jboss:domain:datasources:2.0">
    <datasources>
        <datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
            <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>
            <driver>h2</driver>
            <security>
                <user-name>sa</user-name>
                <password>sa</password>
            </security>
        </datasource>

        <datasource jta="false" jndi-name="java:/jdbc/project_datasource" pool-name="project_datasource" enabled="true" use-ccm="false">
            <connection-url>jdbc:mysql://localhost:3306/projectdb</connection-url>
            <driver-class>com.mysql.jdbc.Driver</driver-class>
            <driver>mysql</driver>
            <pool>
                <min-pool-size>5</min-pool-size>
                <max-pool-size>15</max-pool-size>
            </pool>
            <security>
                <user-name>root</user-name>
                <password>root</password>
            </security>
            <validation>
                <validate-on-match>false</validate-on-match>
                <background-validation>false</background-validation>
            </validation>
            <statement>
                <share-prepared-statements>false</share-prepared-statements>
            </statement>
        </datasource>
        <drivers>
            <driver name="h2" module="com.h2database.h2">
                <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
            </driver>
            <driver name="mysql" module="com.mysql">
                <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlDataSource</xa-datasource-class>
            </driver>
        </drivers>
    </datasources>
</subsystem>

但都是徒劳的.这样做并没有什么新鲜事.

无论如何,现在可以使用WildFly(8.1.0或更高版本,无论何时可用)与NetBeans(可能通过进行某些更改)?

看来我现在几乎离开了WildFly.是吗? 🙂

我不确切知道插件是否是问题.它可能是不同的东西.

更新:

我花了至少三个星期来遇到这种情况.所以,请不要认为我在这里写的所有内容都是错误/无意义的,如果你不能在片刻内重现同样的事情(如链接的question中提到的 – 包括罢工文本) – 我只是不能说更多关于它的事情.

其中一个可重现的事情:如果对现有应用程序进行了一些更改,则应用程序不会(自动)部署到服务器,如果这些更改已保存(更不用说在IDE中启用了部署保存选项) – 但这只是一件最简单的事情,即使发生正确也无法依赖.

显然,插件不会以应有的方式与IDE交互/通信(例如,正确使用GlassFish Server时).

只是一个警告,因为我错过了这个并且正在撕裂我的头发.
Wildfly默认使用端口9990进行调试管理,但是如果您有Nvidia设备会导致问题,因为Nvidia网络服务也使用9990.

为了解决这个问题,我已经停止了Nvidia网络服务(在任务管理器中),我的Netbeans(8.1)现在可以连接到wildfly服务器,不再失败.

您还可以更改wildfly使用的端口,以阻止冲突.如果您使用的是standalone.xml文件,请更改以下行:

<socket-binding name="management-http"
    interface="management"
    port="${jboss.management.http.port:9990}"/>

并根据您的选择更改端口号.现在,在NetBeans中,当您选择添加服务器并转到“实例属性”时,请确保将管理端口设置为与在配置文件中设置的相同.我选择了9991,到目前为止没有任何问题.

(我在这里发布,因为这是我在搜索修复问题时不断提出的第一个结果)

https://stackoverflow.com/questions/26447519/using-the-wildfly-application-server-with-netbeans-ide

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:java – 将WildFly应用程序服务器与NetBeans IDE一起使用