Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Jetty 9.1.1的目录中包含所有.jar文件_Java_Jetty_Classpath - Fatal编程技术网

Java 如何在Jetty 9.1.1的目录中包含所有.jar文件

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

我们正在从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 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实例和其他批处理过程,我们希望从这些库的单个实例出发,那么这不是首选的解决方案。