Reputation: 63
Hello I'm trying to update my app on heroku. When I build my app this error appears:
Caused by: java.lang.NullPointerException: null
at java.net.URI$Parser.parse(URI.java:3042) ~[na:1.8.0_221]
at java.net.URI.<init>(URI.java:588) ~[na:1.8.0_221]
at pl.jawegiel.util.DbUtil.getConnection(DbUtil.java:19) ~[classes/:na]
at pl.jawegiel.dao.UsersBasicInfoDao.<init>(UsersBasicInfoDao.java:17) ~[classes/:na]
at pl.jawegiel.dao.UsersDao.<init>(UsersDao.java:27) ~[classes/:na]
at pl.jawegiel.listener.SessionListener.<init>(SessionListener.java:19) ~[classes/:na]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_221]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_221]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_221]
at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_221]
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:172) ~[spring-beans-5.1.8.RELEASE.jar:5.1.8.RELEASE]
... 64 common frames omitted
where my DbUtil class looks like this:
public class DbUtil {
public static Connection getConnection() throws URISyntaxException, SQLException {
URI dbUri = new URI(System.getenv("DATABASE_URL"));
String username = dbUri.getUserInfo().split(":")[0];
String password = dbUri.getUserInfo().split(":")[1];
String dbUrl = "jdbc:postgresql://" + dbUri.getHost() + ':' + dbUri.getPort() + dbUri.getPath();
return DriverManager.getConnection(dbUrl, username, password);
}
}
I did exactly as Heroku tutorial says but in vain. Help me please.
Upvotes: 0
Views: 61
Reputation: 2751
It is because of this line
System.getenv("DATABASE_URL")
The program could not find the system environment variable on heroku.
You will have to add the environment variable value using config var or set define database url inside the class and use it.
Upvotes: 1