将jar添加到Tomcat类路径

时间:2013-03-25 14:47:54

标签: eclipse tomcat dependencies war

我在Tomcat上运行了一个Eclipse项目,我的依赖项jar位于WEB-INF / lib目录中。一切都很棒。但是在导出时创建的war文件非常庞大,我需要将它来回发送到测试服务器,这将非常耗时。这似乎是一种浪费。

因此,我将所有依赖项jar放在我的文件系统中的一个文件夹dependency_jars中,并将构建配置为指向那里。构建工作,但当我运行它(仍在我的本地机器上)时,应用程序会抛出运行时错误。

阅读,我转到项目属性并将jar添加到Web部署程序集。现在运行时工作,但导出的战争再一次包装了所有的罐子。

那么如何让我的依赖项可用于运行时环境,而不让Eclipse将它们打包在战争中?

1 个答案:

答案 0 :(得分:0)

好吧我不确定这是最优雅的解决方案,但我所做的是配置Tomcat使用外部库,将依赖jars放在那里,然后让eclipse用其中的所有东西创建战争,从中爆炸它命令行,删除依赖项jar,重新打包war,最后发送出去。

嗯,绝对不是一个优雅的解决方案。但它的确有效。以下是步骤:

  1. 配置Tomcat以使用外部资源库。转到tomcat_home / conf / catalina.properties并在注释下添加您的目录,该注释以“以逗号分隔的路径列表定义”常用“类加载器的内容...”

  2. 通过Eclipse导出战争。

  3. 爆炸战争(双关语可能在这里值得:) jar -xvf MyWar.war

  4. 删除您的依赖项jar(现在位于上面步骤1的外部目录中。)

  5. 重新包装战争:jar cvf MyWar.war WEB-INF