Java Heroku上的错误501

Java Heroku上的错误501,java,sql,heroku,jdbc,jersey,Java,Sql,Heroku,Jdbc,Jersey,我已经开发了一个Web应用程序,可以由maven eclipse在Heroku上部署 组Id:org.glassfish.jersey.archetypes 工件Id:jersey heroku webapp 版本:2.17 然后我按照这个指南(1.5)把它推给Heroku 我无法从http链接访问我的apple类-如下所示: 我得到了错误500 我以前在没有JDBC过程的情况下测试过它,我从apple类中获得了输出Hello,因此我想这取决于我对Heroku Postgres的实现 非常

我已经开发了一个Web应用程序,可以由maven eclipse在Heroku上部署

组Id:org.glassfish.jersey.archetypes

工件Id:jersey heroku webapp

版本:2.17

然后我按照这个指南(1.5)把它推给Heroku

我无法从http链接访问我的
apple
类-如下所示:

我得到了错误
500

我以前在没有JDBC过程的情况下测试过它,我从apple类中获得了输出
Hello,因此我想这取决于我对
Heroku Postgres的实现


非常感谢您的帮助。

您应该致电
System.getenv(“数据库URL”)
。您正在使用env var的值调用
getenv
,该值将返回null。

主机字符串包含mysql服务器的主机名?顺便说一下,至少发布一个可行的link@cctan:他们的主机字符串只包含以下内容:
ec6-70-19-289-719.sun-1.amazonaws.com
@cctan:this link
sky-sun-6789.herokuapp.com
不是正确的,它只是一个示例我已将主机字符串更改为
ec6-70-19-289-719.sun-1.amazonaws.com/database
,它也不起作用如果没有
jdbc:mysql://
的话,我已经用
jdbc:ec6-70-19-289-719.sun-1.amazonaws.com/database
试过了,但仍然不起作用。在尝试调用Heroku上某个位置的链接之前,是否必须配置数据库?
    import java.net.URI;
    import java.net.URISyntaxException;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;

    import javax.ws.rs.GET;
    import javax.ws.rs.Path;
    import javax.ws.rs.Produces;
    import javax.ws.rs.core.MediaType;

    @Path("apple")
    public class Apple {

            @GET
            @Produces(MediaType.TEXT_PLAIN)
            public String getIt() {
                try {
                    getConnection();
                } catch (URISyntaxException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }

                return "Hello, from apple class";
            }

            private static Connection getConnection() throws URISyntaxException, SQLException {
        //I have modified my orginal ingredients.
                URI dbUri = new URI(System.getenv("postgres://mglfe545z6ixsgk:yf8gyK1hBh3jknzqepLnajWRLv@
ec2-60-16-433-222.compute-1.amazonaws.com:5432/d5kal1r7jtavr9"));

                String username = dbUri.getUserInfo().split(":")[0];
                String password = dbUri.getUserInfo().split(":")[1];
                String dbUrl = "jdbc:postgresql://" + dbUri.getHost() + ':'
                        + dbUri.getPort() + dbUri.getPath();

                Connection con = DriverManager.getConnection(dbUrl, username, password);
                System.out.println("It works");
                return con;
            }
        }