【问题标题】:How to avoid compilation error while referring common jar files?引用普通jar文件时如何避免编译错误?
【发布时间】:2018-01-18 04:10:53
【问题描述】:

我有一个通用的jar,需要放在Tomcat/Jetty lib 文件夹中,这样所有的WAR 文件都可以访问这个JAR。我的代码出现编译错误,因为它无法链接到 JAR。如何访问服务器lib文件夹下的通用JAR?

【问题讨论】:

  • 它是一个 Maven 项目吗?如果是这种情况,您可以在 pom 文件中使用 'provided' 范围来访问这些 jar 文件。
  • 如果没有,您可以针对原位 jar 文件进行编译
  • 不,它不是 maven 项目。普通jar如何链接?
  • 我已将 jarA 链接到 Web 项目作为项目 -> 属性 -> 添加外部 JAR。这避免了eclipse中的编译错误。我已将 jarA 放在 lib/ext 文件夹中。如何访问 lib/ext 中的 jar?这是通过代码还是服务器配置完成的?

标签: java tomcat web-applications jetty


【解决方案1】:

我在 WAR 中使用 Manifest 文件链接到外部 JAR。在清单文件中,我将外部 JAR 指定为“Class-Path:”。为避免编译错误,我将外部 JAR 链接为“Java BuildPath -> Libraries”。虽然 JAR 是使用上述方法链接的,但只有在服务器的“lib”文件夹中找到的 JAR 才会被应用程序使用:-)

【讨论】: