gpt4 book ai didi

java.net.URI$Parser.parse 处的 java.lang.NullPointerException

转载 作者:行者123 更新时间:2023-12-02 03:25:26 24 4
gpt4 key购买 nike

我想连接到 Heroku 数据库,并尝试像他们的教程一样复制模型: https://devcenter.heroku.com/articles/connecting-to-relational-databases-on-heroku-with-java#using-the-jdbc_database_url

当执行以下行时

URI dbUri = new URI(System.getenv("postgresql://osnvehqhufnxzr:TS3Qt37c_HHbGRNKw3yk7g88fp@ec2-54-225-93-34.compute-1.amazonaws.com:5432/d39mfq0odt56bv?ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory"));

我收到错误

java.lang.NullPointerException
at java.net.URI$Parser.parse(Unknown Source)
at java.net.URI.<init>(Unknown Source)

这是怎么造成的,如何解决?

最佳答案

当您创建 URI 对象时,您将使用 System.getenv(),它会尝试获取名为“postgresql://osnvehq...”的系统环境变量的值,这肯定不存在,也不是您的意图。删除 System.getenv() 并仅使用 url 字符串。

建议:在连接返回之前,您可以将一些带有变量的 System.out.println() 语句放入其中,并检查控制台输出以确保从连接中正确提取 URL、用户名和密码。 URI。

另外,请说这些不是您数据库的真实用户和密码,它们现在已经暴露在全世界...如果这些是真实的,您需要立即更改它们 - 不是在这里,那只猫是已经开箱即用,在您的实际数据库中更改它。

编辑:好的,我刚刚查看了 heroku 链接,该教程告诉您的是使用 new URI(System.getenv("DATABASE_URL")) 并保持 DATABASE_URL 部分不变。这是一个环境变量,将包含实际的连接信息。

关于java.net.URI$Parser.parse 处的 java.lang.NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38986646/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com