日志中的Heroku错误:java.lang.ClassNotFoundException: org.apache.de



我对heroku部署完全是新手。我有一个java应用程序,只使用Heroku工具带推送到Heroku。我已经把。war文件放在我的应用程序中。

servlet反过来与Derby db通信。

现在,当我尝试从我的客户端访问相同的heroku日志显示一个错误:

java.lang.ClassNotFoundException: org.apache.derby.jdbc.ClientDriver

当我在本地glassfish服务器中使用相同的.war文件时,它可以正常工作。

不确定我是否需要单独安装derby.jar到heruko?如果有,我如何使用工具带添加它。

你在本地使用的Glassfish服务器正在为你的应用程序提供derby JAR文件。这使得它成为一个非托管的外部依赖(这很糟糕)。

为了在Heroku上运行应用程序,您需要在Maven依赖项中包含derby驱动程序。可能是这样的:

<dependency>
  <groupId>org.apache.derby</groupId>
  <artifactId>derbyclient</artifactId>
  <version>10.11.1.1</version>
</dependency>

但是,请记住Heroku文件系统是临时的,Derby不会持久。你可以试试Heroku提供的免费PostgreSQL数据库

最新更新