dropwizard项目中的默认http / admin端口

时间:2014-08-20 03:52:38

标签: java port dropwizard

我有一个dropwizard项目,我在项目的ROOT维护了一个config.yml文件(基本上和pom.xml在同一级别)。在这里,我已经指定了如下使用的HTTP端口:

http:
    port:9090
    adminPort:9091

我的TestService.java文件中有以下代码

public class TestService extends Service<TestConfiguration> {

    @Override
    public void initialize(Bootstrap<TestConfiguration> bootstrap) {
        bootstrap.setName("test");
    }

    @Override
    public void run(TestConfiguration config, Environment env) throws Exception {
        // initialize some resources here..
    }

    public static void main(String[] args) throws Exception {
        new TestService().run(new String[] { "server" });
    }

}

我希望config.yml文件用于确定HTTP端口。然而,应用程序总是似乎从默认端口8080和8081开始。还要注意我从eclipse运行它。

关于我在这里做错了什么见解?

1 个答案:

答案 0 :(得分:2)

尝试按以下方式运行您的服务:

将您的主要方法重写为:

public static void main(String[] args) throws Exception {
        new TestService().run(args);
}

然后在eclipse中转到Run - &gt;运行配置....,为您的班级创建一个新的运行配置,转到arguments并添加&#34;服务器路径/到/ config.yml&#34; in&#34;程序参数&#34;。如果你把它放在根目录中,它将是&#34;服务器config.yml&#34;

我相信您没有传递.yml文件的位置/名称,因此您的配置未加载。另一种解决方案是将配置文件的位置添加到您要运行的阵列中;)