繁体   English   中英

创建提取 JARS 文件的 Maven 程序集

[英]Create Maven Assembly that pulls JARS files

我想创建一个 Maven 程序集,它可以提取一些 JAR 文件(Spring boot JARS),以便我可以将其打包以进行分发。

我可以让 Maven Assembly 插件在类型为 WAR 的情况下工作,但不适用于 JAR。

例如

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

  <modelVersion>4.0.0</modelVersion>


  <groupId>com.test</groupId>
  <artifactId>bom-build</artifactId>
  <name-bom-build</name>
  <version>1.0.0-SNAPSHOT</version>


  <dependencies>
    <dependency>
      <groupId>com.test.group</groupId>
      <artifactId>bootapp</artifactId>
      <version>1.0.0</version>
      <type>WAR</type>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>2.4</version>
        <configuration>
          <descriptors>
            <descriptor>src/main/assembly/src.xml</descriptor>
          </descriptors>
        </configuration>
      </plugin>
    </plugins>
  </build>

</project>

源文件

<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
  <id>distribution</id>
  <formats>
    <format>zip</format>
    <format>dir</format>
  </formats>
  <dependencySets>
    <dependencySet>
      <includes>
        <include>com.test:*:war:*</include>
        <include>com.test:*:jar:*</include>
      </includes>
      <useProjectArtifact>true</useProjectArtifact>
      <outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
      <outputDirectory>jars</outputDirectory>
      <unpack>false</unpack>
    </dependencySet>
  </dependencySets>
  <fileSets>
    <fileSet>
      <directory>src/main/resources</directory>
      <outputDirectory>/</outputDirectory>
    </fileSet>
  </fileSets>
</assembly>

有没有办法构建一个 assembley 来将 JAR 文件列表放在一起?

我建议您在 POM 中添加所需的 JAR 依赖项:

  <dependencies>
    ...
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    ...
  </dependencies>

(或您需要的任何具体内容)并添加另一个依赖项集:

  <dependencySets>
    ...
    <dependencySet>
      <includes>
        <include>org.springframework.*:*:*</include>
      </includes>
      <outputDirectory>jars</outputDirectory>
      <unpack>false</unpack>
    </dependencySet>
  </dependencySets>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM