4

Environment variable DHIS2_HOME: null (TrayApp.java [main])尝试在我的 Windows Vista 机器上启动dhis2-live.exewith连接时出现错误。Postgres

但是,如果使用 H2 DB,相同的应用程序运行良好,但根据要求,我需要使用Postgres.

这是日志文件。

* INFO  23:48:27,232 Environment variable DHIS2_HOME: null (TrayApp.java [main])
* INFO  23:48:27,700 Initialising DHIS 2 Live... (TrayApp.java [main])
* INFO  23:48:28,574 Loading DHIS 2 on port: 8082 (WebAppServer.java [main])
* INFO  23:48:28,745 Setting DHIS 2 web app context to: /D:/dhis-live/webapps/dhis (WebAppServer.java [main])
* INFO  23:48:28,745 Lifecycle: server starting (TrayApp.java [Thread-2])
* INFO  23:48:55,001 System property dhis2.home points to /D:/dhis-live/conf (DefaultLocationManager.java [Thread-2])
* INFO  23:49:00,290 Hibernate configuration loaded, using dialect: org.hibernate.dialect.PostgreSQLDialect (DefaultHibernateConfigurationProvider.java [Thread-2])
* INFO  23:50:32,286 Found the following message senders: [org.hisp.dhis.message.EmailMessageSender@c0023f, org.hisp.dhis.sms.SmsMessageSender@b027dd] (DefaultMessageService.java [Thread-2])
* INFO  23:51:25,998 Lifecycle: server started (TrayApp.java [Thread-2])

hibernate.properties

#hibernate.dialect = org.hibernate.dialect.H2Dialect
#hibernate.connection.driver_class = org.h2.Driver
#hibernate.connection.url = jdbc:h2:./database/dhis2;AUTO_SERVER=TRUE;DB_CLOSE_ON_EXIT=FALSE
#hibernate.connection.username = sa
#hibernate.connection.password =

hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect
hibernate.connection.driver_class = org.postgresql.Driver
hibernate.connection.url = jdbc:postgresql:dhis2
hibernate.connection.username = dhis
hibernate.connection.password = dhis

hibernate.hbm2ddl.auto = update
4

2 回答 2

2

实际上,TrayApp.java文件将用于使用我们在DHIS2_HOME变量中设置的位置读取初始配置。

请按照以下步骤操作:

  1. 使用您的位置值创建一个 DHIS2_HOME 系统变量,例如 D:\dhis2
  2. 使用以下配置在此位置创建 hibernate.properties 文件

    hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect
    hibernate.connection.driver_class = org.postgresql.Driver
    hibernate.connection.url = jdbc:postgresql:dhis2
    hibernate.connection.username = dhis
    hibernate.connection.password = dhis
    hibernate.hbm2ddl.auto = update

现在单击 dhis2-live.exe 以使用 posgresql 启动 dhis2 应用程序。

希望对你有帮助。!!

于 2015-05-05T07:36:10.833 回答
1

@Ranjitsinh 的回答可能对一些未来的读者有所帮助,但对我来说,通过创建一个新数据库并使用默认用户设置重新解决了这个问题,postgresprivileges下面的屏幕截图所示。

以前我已经User/Group从数据库中删除了公共特权。

在此处输入图像描述

于 2015-05-07T07:45:32.277 回答