我有这个资源,我src/main/webapp/META-INF/context.xml
Heroku的Web应用程序亚军JNDI命名,资源不可
<Resource name="jdbc/myDB" type="javax.sql.DataSource" auth="Container" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://..." username="..." password="..." />
当我部署我的应用程序到Tomcat 8运行良好和资源可用声明。
但是当我尝试使用此命令通过web应用,runnner(本地或在Heroku)运行:
java -jar target/dependency/webapp-runner.jar target/*.war --enable-naming
我得到这样的警告和资源不可用:
WARNING: Failed to register in JMX: javax.naming.NamingException: Could not create resource factory instance [Root exception is java.lang.ClassNotFoundException: org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory]
我尝试添加这些依赖于我的pom.xml,但它没有区别:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-dbcp2</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-dbcp</artifactId>
<version>7.0.65</version>
</dependency>
请指教。
谢谢你,成功了!唯一的事情:需要使用'target/dependency/*'而不是'target/dependency/*。jar' –