代码之家  ›  专栏  ›  技术社区  ›  L. Cornelius Dol

下拖独立震击器

  •  0
  • L. Cornelius Dol  · 技术社区  · 7 年前

    我正在尝试组装一个独立版本的Undertow,我遇到了JAR依赖的地狱。我终于找到了下面的JAR列表,但我真正想要的是一个包含所有依赖项的独立Undertow捆绑包,尽管它声称“轻量级”和“可嵌入”,并且“Undertow可以嵌入到应用程序中,或者只需几行代码就可以独立运行”,但我似乎在任何地方都找不到它然而,在包含依赖项之后,真正的权重似乎有很多代码(大约6个MiB)。这甚至排除了一些明显的或有文档记录的可选包,如JBoss模块和OSGI等。

    撇开大小不谈,我已经在类路径上处理了所有列出的jar,但一捆相同的jar不起作用;尝试启动服务器时出错:XNIO001001:找不到XNIO提供程序。

    有人能指出我忽略了什么吗?还是我只是对什么是“轻量级”和“可嵌入”有一个过时的定义?

    捆绑的罐子:

    • alpn-api-1.1.3。v20160715.jar
    • jboss-logging-3.3.1。最终的罐子
    • jboss-logmanager-2.0.9。最终的罐子
    • jboss-logging-annotations-2.1.0。最终的罐子
    • jboss-threads-2.3.0。最终的罐子
    • 下拖-核心-2.0.0。Beta1.jar
    • wildfly-client-config-1.0.0。最终的罐子
    • wildfly-common-1.3.0。最终的罐子
    • xnio-api-3.6.0。最终的罐子
    • xnio-nio-3.6.0。最终的罐子
    1 回复  |  直到 7 年前
        1
  •  0
  •   L. Cornelius Dol    7 年前

    上面的JAR列表似乎确实有效,但我必须配置ProGuard以将META-INF/services文件夹保留在其中,同时删除其他元信息,如下所示:

    # Combining JARs Only
    -dontobfuscate
    -dontshrink
    
    -injars <DISTRO>/WebServer.internal.jar(!**/Z*)
    -injars <DISTRO>/../lib/alpn-api-1.1.3.v20160715.jar(META-INF/services/**,!META-INF/**)
    -injars <DISTRO>/../lib/jboss-logging-3.3.1.Final.jar(META-INF/services/**,!META-INF/**)
    -injars <DISTRO>/../lib/jboss-logging-annotations-2.1.0.Final.jar(META-INF/services/**,!META-INF/**)
    -injars <DISTRO>/../lib/jboss-logmanager-2.0.9.Final.jar(META-INF/services/**,!META-INF/**)
    -injars <DISTRO>/../lib/jboss-threads-2.3.0.Final.jar(META-INF/services/**,!META-INF/**)
    -injars <DISTRO>/../lib/undertow-core-1.4.22.Final.jar(META-INF/services/**,!META-INF/**,**)
    -injars <DISTRO>/../lib/wildfly-client-config-1.0.0.Final.jar(META-INF/services/**,!META-INF/**)
    -injars <DISTRO>/../lib/wildfly-common-1.3.0.Final.jar(META-INF/services/**,!META-INF/**)
    -injars <DISTRO>/../lib/xnio-api-3.6.0.Final.jar(META-INF/services/**,!META-INF/**)
    -injars <DISTRO>/../lib/xnio-nio-3.6.0.Final.jar(META-INF/services/**,!META-INF/**)
    
    -outjars <DISTRO>/WebServer.jar
    

    但对我来说,对于“轻量级”web服务器来说,这似乎太过分了。