【问题标题】:Cannot run Dropwizard tutorial无法运行 Dropwizard 教程
【发布时间】:2016-02-28 16:36:24
【问题描述】:

我正在尝试运行教程here 以开始使用 Dropwizard。 一切都很好,直到我通过这个命令运行它:

java -jar target/hello-world-0.0.1-SNAPSHOT.jar server hello-world.yml

果然应该是

INFO  [2011-12-03 00:38:32,927] io.dropwizard.cli.ServerCommand: Starting hello-world
INFO  [2011-12-03 00:38:32,931] org.eclipse.jetty.server.Server: jetty-7.x.y-SNAPSHOT
INFO  [2011-12-03 00:38:32,936] org.eclipse.jetty.server.handler.ContextHandler: started o.e.j.s.ServletContextHandler{/,null}
INFO  [2011-12-03 00:38:32,999] com.sun.jersey.server.impl.application.WebApplicationImpl: Initiating Jersey application, version 'Jersey: 1.10 11/02/2011 03:53 PM'
INFO  [2011-12-03 00:38:33,041] io.dropwizard.setup.Environment:

    GET     /hello-world (com.example.helloworld.resources.HelloWorldResource)

INFO  [2011-12-03 00:38:33,215] org.eclipse.jetty.server.handler.ContextHandler: started o.e.j.s.ServletContextHandler{/,null}
INFO  [2011-12-03 00:38:33,235] org.eclipse.jetty.server.AbstractConnector: Started BlockingChannelConnector@0.0.0.0:8080 STARTING
INFO  [2011-12-03 00:38:33,238] org.eclipse.jetty.server.AbstractConnector: Started SocketConnector@0.0.0.0:8081 STARTING

但我刚刚得到

usage: java -jar hello-world-0.0.1-SNAPSHOT.jar [-h] [-v] {server,check} ...

positional arguments:
  {server,check}         available commands

optional arguments:
  -h, --help             show this help message and exit
  -v, --version          show the application version and exit

没有别的。它跑不了! 我正在尝试 Windows 10 64 位、Java 1.8.0_65 和 DropWizard 0.9.2。 任何人都可以就这个问题提出任何线索吗?谢谢!

【问题讨论】:

  • 这个应用程序是 100% Java,我只是完全按照教程描述的。
  • 哦,对不起我的失踪。这是java --help Unrecognized 选项的输出:--help 错误:无法创建Java 虚拟机。错误:发生了致命异常。程序将退出。
  • 您能否分享hello-world.yml 的内容,它是否与您运行java 命令的目录形式相同?
  • 1. hello-world.yml的内容在这里:template: Hello, %s!defaultName: ${DW_DEFAULT_NAME:-Stranger} 2.这个文件就在我运行java命令的目录下
  • 您的yml 文件不包含所需的配置设置。好的,您的问题是他们在example documentation 中提供了配置摘录。但如果你检查一下,你也会发现一个链接to this。这是示例所需配置的全部内容。

标签: java dropwizard


【解决方案1】:

Dropwizard 获取第一个命令行参数并将其分派给匹配的命令。在这种情况下,可用的命令是 server 和 check,它将您的应用程序作为 HTTP 服务器运行。服务器命令需要一个配置文件,你可以这样做:

java -jar target/dropwizard-1.0-SNAPSHOT.jar server hello-world.yml

如果它在子文件夹中

java -jar target/dropwizard-1.0-SNAPSHOT.jar server conf/hello-world.yml

如果你没有 config.yml,创建一个像这样的模板:

hello-world.yml

【讨论】:

    猜你喜欢
    • 2019-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-08
    • 1970-01-01
    • 2022-08-12
    相关资源
    最近更新 更多