Tomcat版本:5.0.28 JAVA:1.5.0.14

问题:

我使用这两种休眠和支杆 我们不是最新和最伟大的版本,为这些图书馆 所以,既需要一个不同版本的apache-公共图书馆。

该解决方案我在想:

使用的文件清单和指定的不同版本的apache-共用针对每

我的网应用程序是部署 webapp\myapp

和lib webapp\myapp\WEB-INF\lib

我修改的清单。mf hibernate3.jar 如下

清单的版本:1.0

归档-Version:丛归档 创建:1.5.0_15-b04(太阳>微系统公司) 类的路径:hibernatelib/slf4j-api-1.5.2.jar

和把slf4j-api-1.5.2.jar 在 webapp\myapp\WEB-INF\lib\hibernatelib

现在我希望slf4j-api-1.5.2.jar 会被自动加载随着休眠 但是它不工作...Tomcat无法找到罐子文件的规定。MF如上

问题:

  1. 我做错了什么?或者是Tomcat?
  2. 是否有另一种解决这问题吗?

我已经尝试\检查下面

  1. 检查新的线人物在文件结尾
  2. 如果我把slf4j-api-1.5.2.jar 在主lib文件夹的错误了-所以我知道它不能找到这个特别的罐子的文件
  3. 试过的相对、绝对的道路在清单的文件
有帮助吗?

解决方案

唯一地方 Class-Path 属性清单中所使用的是当 jar 含有清单中被称为一种可执行的罐的使用("java -jar theFile.jar").

一些servlet集装箱似乎支持它,但是根据 这个邮件列表 (抱歉,没有找到任何更多的权威如此迅速地)这不是指定的规格。

就我的理解是,网络应用程序通常载他们的课程,使用一个单一的类程序。"正确"解决这一依赖性问题将需要至少2种不同的类装入器.

一个黑客上下的解决方案可能使用 加加 或类似的工具包的不同的图书馆一起用它们各自的依赖关系。

所以你会产生一个 jar 含有休眠一起与其apache-公共图书馆和另一个 jar 含有支柱与其一起apache-公共图书馆。每个复制apache-公共图书馆将被移到不同的软件包(可能 hibernate.org.apache.*struts.org.apache.*)要解决的问题有不同的普版本。

其他提示

你有没有检查任何权限是正确的?也可能是一个想法,以确保有一个行之后,最后一类路线,帮助我早些时候今天!


更新:如果Tomcat不支持的类路径的声明,这样,唯一出来的涉及瞎搞类装入器.我个人不会那样-有一个全世界潜在的疼痛下,这路径你可能会有更容易的时间刚刚升级。对不起我不能想一个更好的答案!

你有没有尝试过的最新的、最大的版本Tomcat看到,如果问题仍然存在?Tomcat6已经好几年了,让我们单独5.5或5.0...

我不相信你可以做到这一点。雄猫不是看在罐子里的表现来决定的类路径问题。它使用自己的层次结构的类机找到什么的需要,使用它说什么类路径。

如果你想要的不同版本的一个罐子的不同部分的应用,你听起来像一个人真的需要 访.这就是问题是发明是为了解决。

还有 两个相互竞争的Jsr 在那里,但是我不知道的任何实现太阳模块的提案。

一个应用程序服务器,我知道,这将允许你这样做是 弹簧的DM服务器.这是一个叉的Tomcat,他们正在增强。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top