Java 如何在Jetty 9.1.1的目录中包含所有.jar文件
我们正在从Jetty 9.0.6升级到9.1.1,并正在进行配置更改以完成过渡。我们的应用程序部署了大量web上下文,所有这些上下文都使用位于外部目录(即Jetty部署之外)中的一组公共库(apache commons、日志、特定db等) 在Jetty 9.0.6中,我们在启动时包含了一个参数,该参数引用了这些公共库的顶级目录:Java 如何在Jetty 9.1.1的目录中包含所有.jar文件,java,jetty,classpath,Java,Jetty,Classpath,我们正在从Jetty 9.0.6升级到9.1.1,并正在进行配置更改以完成过渡。我们的应用程序部署了大量web上下文,所有这些上下文都使用位于外部目录(即Jetty部署之外)中的一组公共库(apache commons、日志、特定db等) 在Jetty 9.0.6中,我们在启动时包含了一个参数,该参数引用了这些公共库的顶级目录: java -jar .\start.jar lib=M:\common\lib 在Jetty 9.1.1的切换中,标志已更改为--lib。使用--list confi
java -jar .\start.jar lib=M:\common\lib
在Jetty 9.1.1的切换中,标志已更改为--lib。使用--list configs我们已经验证了该目录位于start.jar创建的类路径中。然而,当应用程序启动时,我们会遇到许多ClassNotFound问题。所有这些错误都是针对位于公共库中的jar文件中包含的类
这使我相信,该标志是针对非jarred类或特定jar文件列表的。我们还尝试过使用M:\common\lib*和M:\common\lib*.jar,但没有效果
我搜索过任何关于类似问题的报告,但没有找到,我在问这个问题。有人知道如何在启动时将目录中的所有.jar文件传递给Jetty 9.1.1吗?我已在Jetty网站的以下URL上报告了此问题: 将继续跟踪有关配置或问题的进一步信息 更新: -此问题已得到解决并合并到Jetty 9.2代码库中。对于9.1.5版,我们创建了一个自定义模块,用于指定目录中的所有.jar文件,该模块工作正常(尽管不理想) commonlib.mod文件如下所示:
#
# commonlib Module
#
[lib]
M:\commonlib\commons-codec-1.4.jar
M:\commonlib\commons-fileupload-1.2.1.jar
M:\commonlib\commons-io-2.3.jar
M:\commonlib\commons-logging-1.1.1.jar
M:\commonlib\commons-net-2.2.jar
M:\commonlib\commons-pool-1.6.jar
使用命令行将commonlib模块添加到start.ini文件中(尽管手动编辑也可以)。到目前为止,我唯一能想到的是启用ext模块并将所有库放在lib\ext目录中。如果我们有其他Jetty实例和其他批处理过程,我们希望从这些库的单个实例出发,那么这不是首选的解决方案。