Set Up The Classpath中文官方文档

原文地址

设置 Classpath

Add A Class-Path Entry To The Manifest

Maven Archiver 可以将 classpath 添加到你的项目中.这依赖于 配置属性.

    <project>
      ...
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            ...
            <configuration>
              <archive>
                <manifest>
                  <addClasspath>true</addClasspath>
                </manifest>
              </archive>
            </configuration>
            ...
          </plugin>
        </plugins>
      </build>
      ...
      <dependencies>
        <dependency>
          <groupId>commons-lang</groupId>
          <artifactId>commons-lang</artifactId>
          <version>2.1</version>
        </dependency>
        <dependency>
          <groupId>org.codehaus.plexus</groupId>
          <artifactId>plexus-utils</artifactId>
          <version>1.1</version>
        </dependency>
      </dependencies>
      ...
    </project>

清单文件将产生如下的配置:

    Manifest-Version: 1.0
    Created-By: Apache Maven ${maven.version}
    Build-Jdk: ${java.version}
    Class-Path: plexus-utils-1.1.jar commons-lang-2.1.jar

使 Jar 可执行

如果您希望创建一个可执行jar文件,则需要相应地配置Maven Archiver。您需要告诉它使用哪个主类。这是通过配置元素完成的。下面是一个示例pom.xml,它配置为添加类路径并使用fully.qualified.MainClass作为主类:

    <project>
      ...
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            ...
            <configuration>
              <archive>
                <manifest>
                  <addClasspath>true</addClasspath>
                  <mainClass>fully.qualified.MainClass</mainClass>
                </manifest>
              </archive>
            </configuration>
            ...
          </plugin>
        </plugins>
      </build>
      ...
      <dependencies>
        <dependency>
          <groupId>commons-lang</groupId>
          <artifactId>commons-lang</artifactId>
          <version>2.1</version>
        </dependency>
        <dependency>
          <groupId>org.codehaus.plexus</groupId>
          <artifactId>plexus-utils</artifactId>
          <version>1.1</version>
        </dependency>
      </dependencies>
      ...
    </project>

清单文件将产生如下的配置:

    Manifest-Version: 1.0
    Created-By: Apache Maven ${maven.version}
    Build-Jdk: ${java.version}
    Main-Class: fully.qualified.MainClass
    Class-Path: plexus-utils-1.1.jar commons-lang-2.1.jar

修改 Classpath: 定义 Classpath 目录前缀

有时,能够修改类路径是有用的,例如在创建瘦war文件时。这可以通过配置 元素来实现。

project>
  ...
  <build>
    <plugins>
      <plugin>
         <artifactId>maven-war-plugin</artifactId>
         <configuration>
           <archive>
             <manifest>
               <addClasspath>true</addClasspath>
               <classpathPrefix>lib/</classpathPrefix>
             </manifest>
           </archive>
         </configuration>
      </plugin>
    </plugins>
  </build>
  ...
  <dependencies>
    <dependency>
      <groupId>commons-lang</groupId>
      <artifactId>commons-lang</artifactId>
      <version>2.1</version>
    </dependency>
    <dependency>
      <groupId>org.codehaus.plexus</groupId>
      <artifactId>plexus-utils</artifactId>
      <version>1.1</version>
    </dependency>
  </dependencies>
  ...
</project>

清单文件将产生如下的配置:

Class-Path: lib/plexus-utils-1.1.jar lib/commons-lang-2.1.jar

修改 Classpath: 使用 Maven Repository-Style Classpath

(自从: 2.3, 请看下面)
有时候,您可能希望在归档文件中包含Maven储存库样式的目录结构。如果你想在你的清单类路径中引用这些目录中的依赖档案,尝试使用 值为’repository’的元素,像这样:

    <project>
      ...
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-jar-plugin</artifactId>
            <version>2.3</version>
            <configuration>
              <archive>
                <manifest>
                  <addClasspath>true</addClasspath>
                  <classpathPrefix>lib/</classpathPrefix>
                  <classpathLayoutType>repository</classpathLayoutType>
                </manifest>
              </archive>
            </configuration>
          </plugin>
        </plugins>
      </build>
      ...
      <dependencies>
        <dependency>
          <groupId>commons-lang</groupId>
          <artifactId>commons-lang</artifactId>
          <version>2.1</version>
        </dependency>
        <dependency>
          <groupId>org.codehaus.plexus</groupId>
          <artifactId>plexus-utils</artifactId>
          <version>1.1</version>
        </dependency>
      </dependencies>
      ...
    </project>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值