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

/webapps/ws/WEB-INF/lib中,我有一个JAR,它也包含其他JAR,但是我不想使用它们,因为它们在我的/webapps/ws/WEB-INF/lib上,并且它们具有不同的版本,因此我想为其添加优先级来运行那些在lib中

我用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>


谢谢 :)

最佳答案

您可以通过在pom中的依存关系显式声明您的库来做到这一点。

例如:

<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依赖于番石榴17.0。如果将guava 23.0声明为项目的显式依赖项,它将优先于guava 17.0

10-08 03:35