我正在尝试从dropwizard应用程序构建一个战争并部署.我可以成功运行jar并访问我的休息服务.
有没有人从dropwizard应用程序创建并成功部署了一场战争?它的正确方法是什么?
我使用Dropwizard实现了简单的REST API,并尝试在Heroku上启动它.我被困在我想要访问Heroku上的postgresql DB的位置.我无法访问Heroku上的配置.我在heroku上设置了配置变量,如下所示:
$ heroku config
HEROKU_DATABASE_URL:<some value>
HEROKU_DATABASE_USERNAME:<some value>
HEROKU_DATABASE_PASSWORD:<some value>
Run Code Online (Sandbox Code Playgroud)
我在我的dropwizard应用程序中访问它们以及config.yml中的其他配置设置:
database:
driverClass: org.postgresql.Driver
user: HEROKU_DATABASE_USERNAME
password: HEROKU_DATABASE_PASSWORD
url: jdbc:postgresql:HEROKU_DATABASE_URL
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
System.getenv("HEROKU_DATABASE_USERNAME")
Run Code Online (Sandbox Code Playgroud)
但这些都不起作用.
如果我用实际值替换我的服务.
有人能指出我从heroku解析/访问配置设置的正确方法吗?
我正在尝试在heroku上部署一个无法启动的dropwizard应用程序.它使用"gradle run server config.yml"在本地工作正常
我正在使用gradle进行构建,当我推送到heroku时,构建成功. 我的gradle阶段任务取决于清洁和jar(胖罐创建)
我的Procfile有:
web:java $ JAVA_OPTS -jar dropwizard-app/build/libs/dropwizard-app.jar server dropwizard-app/config.yml
以上失败,"无法访问jarfile dropwizard-app/build/libs/dropwizard-app.jar"
我尝试过失败了
web:java $ JAVA_OPTS -jar build/libs/dropwizard-app.jar server config.yml
我也尝试使用gradle命令执行
web:gradle run server config.yml
这给出了错误 bash:找不到gradle命令
我的gradle任务如下:
task stage(dependsOn: ['clean', 'jar'])
run {
args 'server', 'config.yml'
}
jar {
manifest {
attributes 'Title': 'dropwizard-app', 'Version': version,'Main-Class': mainClassName
}
archiveName 'dropwizard-app'
dependsOn configurations.runtime
from {
configurations.compile.collect {it.isDirectory()? it: zipTree(it)}
}
}
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?如何启动我的dropwizard应用程序?