在NetBeans 8.0.1中忽略了glassfish-resources.xml



我刚刚在两个旧项目中使用了NetBeans 8.0.1和GlassFish 4.1,它们与NetBeans 8.0和GlassFsh 4.0配合良好。

现在(使用NetBeans 8.0.1),我在项目部署过程中收到一个错误"t无效资源:jdbc/nameOfTheSource__pm"。

JDBC资源和连接池由glassfish-resources.xml定义(当我使用选项"Create Persistent Unit"one_answers"new Data Source"定义一个新实体时,由NetBeans生成)。

如果我在服务器上通过asadmin的add resource命令直接使用glassfish资源,那么一切都在工作:连接池和JDBC资源都已创建。所以问题不是来自这个文件。

就好像在部署过程中忽略了glassfish-resources.xml。

有人也有同样的问题吗(并有解释)?

我的环境:NetBeans 8.0.1,GlassFish 4.1,Java DB 10.10.1.2-(1495037)(来自Java 8.0)。

相关问题:部署过程中如何使用玻璃鱼资源?它不包含在EAR或WAR文件中。

提前感谢您的帮助。

这是GlassFish的一个bug:https://netbeans.org/bugzilla/show_bug.cgi?id=243034

我在应用程序中通过@DatasourceDefinition定义我的数据源,而不是使用glassfish-resources.xml,但这只是一种针对数据源的变通方法,而不适用于其他类型的资源。

这是由于他们说他们已经修复了一个NetBeans错误,但似乎没有。作为一种解决方案,我最终也完全放弃了glassfish-resources.xml,转而使用@DataSourceDefinition注释。

我的配置为@DataSourceDefinition:使用单独的DataSourceBean.java文件

@Singleton
@Startup
@DataSourceDefinition(name="java:global/jdbc/myDataSource",
    className="com.microsoft.sqlserver.jdbc.SQLServerDataSource",
    url="jdbc:sqlserver://127.0.0.1:1433;databaseName=myDB",
    user="myuser",
    password="mypassword"
)
public class DataSourceBean {
}

persistence.xml看起来像:

<?xml version="1.0" encoding="UTF-8"?>
<persistence 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"
             version="2.1">
    <persistence-unit name="myUnit" transaction-type="JTA">
        <jta-data-source>java:global/jdbc/myDataSource</jta-data-source>
        <properties>
            <property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
        </properties>
    </persistence-unit>
</persistence>

相关内容

  • 没有找到相关文章

最新更新