如何将外部库包含到jetty中(使用start.jar启动jetty)

时间:2014-01-14 15:40:07

标签: memcached jetty

我正在尝试使用jetty-nosql-memcached作为jetty会话后端。

jetty-nosql-memcached:https://github.com/yyuu/jetty-nosql-memcached

编译jar后,将文件“jetty-nosql-memcached-0.4.1-SNAPSHOT-jar-with-dependencies.jar”放入以下文件夹中,

  1. $ JETTY_HOME / lib或
  2. $ JETTY_HOME / lib / ext或
  3. $ JETTY_BASE / lib或
  4. $ JETTY_BASE / lib / ext目录
  5. 然后我尝试启动jetty,以上所有设置都抛出以下异常:

    ClassNotFoundException:org.eclipse.jetty.nosql.memcached.MemcachedSessionIdManager

    我在starts.jar

    之后尝试了一个参数

    e.g。 java -jar start.jar jetty.home = $ JETTY_HOME

    它成功加载了类,但是,它不再读取$ JETTY_BASE war文件。 ($ JETTY_HOME和$ JETTY_BASE在不同的目录中休息)

    我是否知道为Jetty包含外部库的正确原因是什么?

    非常感谢!

    添加更多信息

    Jetty版本

    9.1.0.v20131115

1 个答案:

答案 0 :(得分:2)

我想出了两种包含外部库的方法

  1. 在命令行中添加--lib = $ EXTERNAL_LIB_LOCATION。

      

    java -jar start.jar --lib = $ EXTERNAL_LIB_LOCATION

  2. 将库放在$ JETTY_HOME \ lib \ ext中,并在$ JETTY_HOME中启动jetty

      

    cd $ JETTY_HOME
        java -jar start.jar