当我部署我的Web应用程序时,使用 JDBC连接池和 JNDI 与 Netbeans ,这两者都在 Glassfish <中自动创建/强>
当我使用 Maven 创建相同的应用程序时,JDBC连接池和JNDI 不会自动创建并显示此错误:
错误
image
我知道这个错误的解决方案,我只是创建 JNDI manualy 。
我的问题是:是否有任何解决方案或配置可以像普通应用程序一样在服务器Glassfish中自动创建JNDI,或者是Maven的问题。
N.B
我使用服务器: Glassfish 3.1.2.2 , Netbeans 8.1
谢谢。
答案 0 :(得分:1)
创建glassfish-resources.xml
文件以定义数据库连接,并确保它最终位于WEB-INF
文件夹中。您可以将其作为静态文件放在那里,但在我工作的大多数项目中,我需要在开发中使用不同的连接。您可以使用Maven WAR plugin来处理它(将其作为可过滤资源处理)。例如,在glassfish-resources.xml
的项目中创建/src/main/resources_WEB-INF
。现在,您可以在构建项目时将其放在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>
另见