我正在使用project called vertx-bigapp-skeleton来简化Vert.x部署。
为此,我决定在Verticle中创建一个名为META-INF/vertx.verticle
的文件(example project的Maven子模块)。
如果我使用Maven(mvn clean package && java -jar server/target/application.jar
)编译和运行项目,一切正常,Maven shade插件正确合并了vertx.verticle
文件。
我使用Eclipse,如果我运行示例服务器工件,它只会从healh verticle找到vertx.verticle
文件。
也可以在eclipse中合并这个META-INF/vertx.verticles
文件,这样我就可以在Eclipse中开发和调试了吗?
可以在此处找到vertx.verticles文件的Loader:https://github.com/marcelalburg/vertx-bigapp-skeleton/blob/master/src/main/java/com/weeaar/vertxwebconfig/service/ServiceLoader.java
感谢您的帮助
答案 0 :(得分:0)
我找到了解决方案。
我用过
public static final String FACTORIES_VERTICLES_LOCATION = "META-INF/vertx.verticle";
input = getClass().getClassLoader().getResourceAsStream( FACTORIES_VERTICLES_LOCATION );
但这只是找到了其中一个文件
如果我切换到
Enumeration<URL> urls = ClassLoader.getSystemResources( FACTORIES_VERTICLES_LOCATION );
一切正常。
感谢marcel