com.sun.appserv.connectors.internal.api.ConnectorRuntimeException:无效资源:javaee__pm
com.sun.appserv.connectors.internal.api.ConnectorRuntimeException: Invalid resource : javaee__pm
我有一个小型 JavaEE JSF 应用程序,它通过持久性 JPA 访问 mysql 数据库,它在我的 netbeans 和 glassfish 环境中运行良好。问题是,在具有相同配置(netbeans、glasfish、相同数据库)的其他机器上克隆它之后,它不会 运行。估计是数据库配置的问题,但我试过在新机器上配置,无望。它总是给出相同的错误:
GlassFish Server 4.1, deploy, null, false
/home/alvarob/NetBeansProjects/WordPracticeJavaEE/nbproject/build-impl.xml:1032: The module has not been deployed.
See the server log for details.
BUILD FAILED (total time: 0 seconds)
这是 GlassFish 日志的一部分:
[2015-10-19T14:47:13.556+0300] [glassfish 4.1] [SEVERE] [] [javax.enterprise.system.core] [tid: _ThreadID=44 _ThreadName=admin-listener(4)] [timeMillis: 1445255233556] [levelValue: 1000] [[
Exception while preparing the app : Invalid resource : javaee__pm
com.sun.appserv.connectors.internal.api.ConnectorRuntimeException: Invalid resource : javaee__pm
at org.glassfish.jdbcruntime.service.JdbcDataSource.validateResource(JdbcDataSource.java:81)
at org.glassfish.jdbcruntime.service.JdbcDataSource.setResourceInfo(JdbcDataSource.java:62)
at org.glassfish.jdbcruntime.JdbcRuntimeExtension.lookupDataSourceInDAS(JdbcRuntimeExtension.java:136)
at com.sun.enterprise.connectors.ConnectorRuntime.lookupDataSourceInDAS(ConnectorRuntime.java:589)
at com.sun.enterprise.connectors.ConnectorRuntime.lookupPMResource(ConnectorRuntime.java:517)
at org.glassfish.persistence.common.PersistenceHelper.lookupPMResource(PersistenceHelper.java:63)
at org.glassfish.persistence.jpa.ProviderContainerContractInfoBase.lookupDataSource(ProviderContainerContractInfoBase.java:71)
at org.glassfish.persistence.jpa.PersistenceUnitInfoImpl.<init>(PersistenceUnitInfoImpl.java:108)
at org.glassfish.persistence.jpa.PersistenceUnitLoader.loadPU(PersistenceUnitLoader.java:142)
at org.glassfish.persistence.jpa.PersistenceUnitLoader.<init>(PersistenceUnitLoader.java:107)
at org.glassfish.persistence.jpa.JPADeployer.visitPUD(JPADeployer.java:223)
at org.glassfish.persistence.jpa.JPADeployer$PersistenceUnitDescriptorIterator.iteratePUDs(JPADeployer.java:510)
at org.glassfish.persistence.jpa.JPADeployer.createEMFs(JPADeployer.java:230)
at org.glassfish.persistence.jpa.JPADeployer.prepare(JPADeployer.java:168)
... *it continues*
这是我的 .gitignore(也许我遗漏了一些重要文件?)
nbproject/private/
build/
nbbuild/
dist/
nbdist/
nbactions.xml
nb-configuration.xml
.nb-gradle/
*.class
.mtj.tmp/
*.janr
*.war
*.ear
我终于解决了这个问题,方法是在目标机器上创建一个 JDBC 池和 JSBC 资源,其名称和配置与我的计算机上的完全相同。
我有一个小型 JavaEE JSF 应用程序,它通过持久性 JPA 访问 mysql 数据库,它在我的 netbeans 和 glassfish 环境中运行良好。问题是,在具有相同配置(netbeans、glasfish、相同数据库)的其他机器上克隆它之后,它不会 运行。估计是数据库配置的问题,但我试过在新机器上配置,无望。它总是给出相同的错误:
GlassFish Server 4.1, deploy, null, false
/home/alvarob/NetBeansProjects/WordPracticeJavaEE/nbproject/build-impl.xml:1032: The module has not been deployed.
See the server log for details.
BUILD FAILED (total time: 0 seconds)
这是 GlassFish 日志的一部分:
[2015-10-19T14:47:13.556+0300] [glassfish 4.1] [SEVERE] [] [javax.enterprise.system.core] [tid: _ThreadID=44 _ThreadName=admin-listener(4)] [timeMillis: 1445255233556] [levelValue: 1000] [[
Exception while preparing the app : Invalid resource : javaee__pm
com.sun.appserv.connectors.internal.api.ConnectorRuntimeException: Invalid resource : javaee__pm
at org.glassfish.jdbcruntime.service.JdbcDataSource.validateResource(JdbcDataSource.java:81)
at org.glassfish.jdbcruntime.service.JdbcDataSource.setResourceInfo(JdbcDataSource.java:62)
at org.glassfish.jdbcruntime.JdbcRuntimeExtension.lookupDataSourceInDAS(JdbcRuntimeExtension.java:136)
at com.sun.enterprise.connectors.ConnectorRuntime.lookupDataSourceInDAS(ConnectorRuntime.java:589)
at com.sun.enterprise.connectors.ConnectorRuntime.lookupPMResource(ConnectorRuntime.java:517)
at org.glassfish.persistence.common.PersistenceHelper.lookupPMResource(PersistenceHelper.java:63)
at org.glassfish.persistence.jpa.ProviderContainerContractInfoBase.lookupDataSource(ProviderContainerContractInfoBase.java:71)
at org.glassfish.persistence.jpa.PersistenceUnitInfoImpl.<init>(PersistenceUnitInfoImpl.java:108)
at org.glassfish.persistence.jpa.PersistenceUnitLoader.loadPU(PersistenceUnitLoader.java:142)
at org.glassfish.persistence.jpa.PersistenceUnitLoader.<init>(PersistenceUnitLoader.java:107)
at org.glassfish.persistence.jpa.JPADeployer.visitPUD(JPADeployer.java:223)
at org.glassfish.persistence.jpa.JPADeployer$PersistenceUnitDescriptorIterator.iteratePUDs(JPADeployer.java:510)
at org.glassfish.persistence.jpa.JPADeployer.createEMFs(JPADeployer.java:230)
at org.glassfish.persistence.jpa.JPADeployer.prepare(JPADeployer.java:168)
... *it continues*
这是我的 .gitignore(也许我遗漏了一些重要文件?)
nbproject/private/
build/
nbbuild/
dist/
nbdist/
nbactions.xml
nb-configuration.xml
.nb-gradle/
*.class
.mtj.tmp/
*.janr
*.war
*.ear
我终于解决了这个问题,方法是在目标机器上创建一个 JDBC 池和 JSBC 资源,其名称和配置与我的计算机上的完全相同。