我有一个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运行它。
关于我在这里做错了什么见解?
答案 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
文件的位置/名称,因此您的配置未加载。另一种解决方案是将配置文件的位置添加到您要运行的阵列中;)