【问题标题】:tomcat classloader priority in WEB-INF/libWEB-INF/lib 中的 tomcat 类加载器优先级
【发布时间】:2018-06-28 17:37:40
【问题描述】:

我有一个部署在 Tomcat 7 上的 java 应用程序,

/webapps/ws/WEB-INF/lib 中,我有一个 JAR,其中还包含其他 JAR,但我不想使用它们,因为它们在我的 /webapps/ws/WEB-INF/lib 上,并且它们有不同的版本,所以我想为其运行添加优先级库中的 JAR

我使用 Maven 生成战争

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-war-plugin</artifactId>
  <version>2.4</version>
  <configuration>
     <warName>ws</warName>
     <attachClasses>true</attachClasses>
  <classesClassifier>classes</classesClassifier>
  <archive>
    <manifest>
      <addClasspath>true</addClasspath>
    </manifest>
  </archive>                
  </configuration>
</plugin>

谢谢 :)

【问题讨论】:

    标签: java maven tomcat tomcat7


    【解决方案1】:

    您可以通过在 pom.xml 的依赖项下明确声明您的库来做到这一点。

    例如:

    <dependencies>
        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>23.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tika</groupId>
            <artifactId>tika-core</artifactId>
            <version>1.17</version>
        </dependency>
    <dependencies>
    

    这里,tika-core 1.17 依赖于 guava 17.0。如果您将 guava 23.0 声明为项目的显式依赖项,它将优先于 guava 17.0

    【讨论】:

      猜你喜欢
      • 2012-01-11
      • 1970-01-01
      • 2015-09-17
      • 2016-05-01
      • 2012-01-24
      • 2016-02-06
      • 1970-01-01
      • 2014-02-15
      • 2012-10-04
      相关资源
      最近更新 更多