使用Maven的Web应用程序不会在Glassfish中自动创建连接池和JNDI



当我使用JDBC连接池JNDINetbeans部署我的web应用程序时,这两者都会在Glassfish中自动创建。

当我使用Maven创建相同的应用程序时,JDBC连接池和JNDI 没有自动创建并显示此错误:误差

Grave: Exception while preparing the app : Invalid resource : moduleJNDI__pm
java.lang.RuntimeException: Invalid resource : moduleJNDI__pm

我知道这个错误的解决方案,我只是手动创建JNDI

我的问题是:是否有任何解决方案或配置可以像普通应用程序一样在服务器Glassfish中自动创建JNDI,或者这是Maven的问题。

N。B

我使用服务器: Glassfish 3.1.2.2 , Netbeans 8.1

谢谢。

创建一个glassfish-resources.xml文件来定义数据库连接,并确保它在WEB-INF文件夹中结束。您可以将其作为静态文件放在那里,但在我从事的大多数项目中,我需要在开发中使用不同的连接。您可以使用Maven WAR插件来处理这个问题(将其作为可过滤的资源处理)。例如,在/src/main/resources_WEB-INF的项目中创建glassfish-resources.xml。现在,您可以在构建项目时将其放入WEB-INF文件夹中。请看pom.xml片段:

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-war-plugin</artifactId>
      <version>2.6</version>
      <configuration>
        <failOnMissingWebXml>false</failOnMissingWebXml>
        <webResources>
          <resource>
            <directory>${basedir}/src/main/resources_WEB-INF</directory>
            <filtering>true</filtering>
            <targetPath>WEB-INF</targetPath>
          </resource>
        </webResources>
      </configuration>
    </plugin>
  </plugins>
</build>

参见

  • 如何部署web应用并创建其资源
  • 使用MySQL数据库创建一个简单的Web应用程序

相关内容

  • 没有找到相关文章

最新更新