我们正在努力将Java项目部署到使用MongoDB的Heroku。根据{{3}},从环境变量MONGOHQ_URL
读取数据库连接参数。当我在笔记本电脑上运行Netbeans项目时,如何设置此变量?
我尝试将其作为VM选项添加到运行中的-DMONGOHQ_URL=...
- >设置项目配置 - >自定义 - >运行以及操作 - >通过main()运行项目和运行文件,但无济于事。当程序用System.getvar
读取它时,它没有设置。
答案 0 :(得分:0)
您可以在 netbeans.conf 文件中进行设置。添加以下行:
export MONGOHQ_URL=...
这里有一个例子:http://sunng.info/blog/2009/12/setting-environment-variables-for-netbeans/。
答案 1 :(得分:0)
好的,我明白了。这对Java编码员来说可能是显而易见的,但我不是一个,所以这就是我拼凑在一起的东西。
String mongo_url = System.getenv("MONGOHQ_URL");
// If env var not set, try reading from Java "system properties"
if (mongo_url == null) {
mongo_url = System.getProperty("MONGOHQ_URL");
}
MongoURI mongoURI = new MongoURI(mongo_url);
this.db = mongoURI.connectDB();
// Only authenticate if username or password provided
if (!"".equals(mongoURI.getUsername()) || mongoURI.getPassword().length > 0) {
Boolean success = this.db.authenticate(mongoURI.getUsername(), mongoURI.getPassword());
if (!success) {
System.out.println("MongoDB Authentication failed");
return;
}
}
this.my_collection = db.getCollection("my_collection");