2014-02-11 39 views
0

我们正在从Jetty 9.0.6升级到9.1.1,并且正在完成配置更改以完成转换。我们的应用程序部署了大量的Web上下文,所有这些都使用位于外部目录(即 - Jetty部署之外)的一组公共库(apache commons,logging,specific db等)。如何在Jetty中包含目录中的所有.jar文件9.1.1

在码头9.0.6,我们包括在启动一个参数,它引用了这些公共库的顶级目录:

java -jar .\start.jar lib=M:\common\lib 

在割接码头9.1.1标志已被更改为--lib。使用--list-configs我们已验证该目录位于由start.jar创建的类路径中。但是,当应用程序启动时,我们会遇到许多ClassNotFound问题。所有这些错误都是针对位于公共库中的jar文件中包含的类。

这让我相信这个标志是用于无打乱的类或特定jar文件的列表。我们也尝试使用M:\ common \ lib *和m:\ common \ lib * .jar无效。

我搜索了类似问题的任何报告,但没有发现问题。有谁知道如何在启动时将位于目录中的所有.jar文件传递给Jetty 9.1.1?

+0

到目前为止,我唯一能够想到的是启用** ext **模块并将所有库放入** lib \ ext **目录中。由于我们有其他Jetty实例和其他批处理流程,因此我们不希望脱离这些库的单个实例。 – skimbleton

回答

0

我已经报告了以下网址码头现场这个问题:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=428097

将继续跟踪有关的配置或有问题的进一步信息。

更新: - 此问题已解决并合并到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文件(虽然手动编辑会工作得很好太)。

相关问题