如何通过maven将libs添加到我的清单文件中的Classpath?

时间:2012-01-12 09:23:54

标签: maven maven-2 maven-3 maven-assembly-plugin

我使用Maven 3 + hudson + artifacotory

我使用了以下

<artifactId>maven-war-plugin</artifactId> <addClasspath>true</addClasspath> <classpathPrefix>WEB-INF/lib/</classpathPrefix> </manifest>

我的结果是......

WEB-INF/lib/gwt-servlet-2.4.0.jar WEB-INF/lib/gwt-user-2.4
 .0.jar WEB-INF/lib/validation-api-1.0.0.GA.jar WEB-INF/lib/validation
 -api-1.0.0.GA-sources.jar WEB-INF/lib/log4j-1.2.16.jar WEB-INF/lib/co
 mmons-lang-2.6.jar

我觉得很好。

我的另一个要求是,

我需要使用上面的清单文件添加/追加两个lib。见下文

/u01/app/TimesTen/tt1121/lib/orai18n.jar /u01/app/TimesTen/tt1121/lib/ttjdbc5.jar  

那么如何将这个添加/附加到我的Manifest中,以便包括3以上?

1 个答案:

答案 0 :(得分:1)

maven war plugin以及maven jar插件使用maven archiver,而to specify your own manifest file允许您{{3}}。根据文件,

  

您自己的清单文件的内容将与条目合并   由Maven Archiver生成。

从上面的链接剪切/粘贴相关的pom片段以供参考

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        ...
        <configuration>
          <archive>
            <manifestFile>src/main/resources/META-INF/MANIFEST.MF</manifestFile>
          </archive>
        </configuration>
        ...
      </plugin>
    </plugins>
  </build>
  ...
</project>

因此,您可以在此自定义MANIFEST.MF中添加其他条目,并将其与maven war插件结合使用。