zoukankan      html  css  js  c++  java
  • 使用Maven生成manifest

    使用maven的maven-jar-plugin插件可以生成manifest文件,同时把依赖的jar写入manifest.

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

    build后生成的manifest文件将包含以下信息

    Manifest-Version: 1.0
    Archiver-Version: Plexus Archiver
    Created-By: Apache Maven
    Built-By: ${user.name}
    Build-Jdk: ${java.version}
    Class-Path: plexus-utils-1.1.jar commons-lang-2.1.jar
    想生成可以执行的jar包,可以在<manifest></manifest>加入
     <mainClass>fully.qualified.MainClass</mainClass>

    即把程序入口(含main方法的类)添加进manifest中

    build后manifest文件信息

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

    可以使用java -jar  jarname    执行jar包

  • 相关阅读:
    二分排序之三行代码
    最短路径—Floyd算法
    最小生成树 Kruskal算法
    最小生成树-Prim算法
    最短路径之迪杰斯特拉(Dijkstra)算法
    C函数指针
    Linux进程的实际用户ID和有效用户ID
    C++ 之Boost 实用工具类及简单使用
    ELK之消息队列选择redis_kafka_rabbitmq
    Python文件操作
  • 原文地址:https://www.cnblogs.com/az19870227/p/2195566.html
Copyright © 2011-2022 走看看