maven-assembly-plugin 2.2-beta-5 работает, но 3.1.1 работает - PullRequest
0 голосов
/ 02 мая 2019

Я преобразую пример проекта netbeans из ant в maven, в котором я хочу создать исполняемый файл jar с зависимостями. Я использую этот файл POM:

<?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>org.todivefor.myselenium</groupId>
    <artifactId>MySelenium</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
    </properties>

    <dependencies>

        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
        <version>3.13.0</version>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-chrome-driver</artifactId>
            <version>3.13.0</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-firefox-driver</artifactId>
            <version>3.13.0</version>
            <type>jar</type>
        </dependency>
    </dependencies> 

<build>

    <pluginManagement>
      <plugins>
        <plugin>
          <artifactId>maven-assembly-plugin</artifactId>
          <version>3.1.1</version>
        </plugin>
      </plugins>
    </pluginManagement>

  <plugins>
    <plugin>
      <artifactId>maven-assembly-plugin</artifactId>
      <configuration>
        <archive>
          <manifest>
            <mainClass>org.todivefor.myselenium.MySelenium</mainClass>
          </manifest>
        </archive>
        <descriptorRefs>
          <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
      </configuration>
    </plugin>
  </plugins>
</build>

</project>

Когда я запускаю это с помощью сборки mvn: single, я получаю следующий вывод:

PWRMacbookPro:MySelenium peterr$ mvn assembly:single
[INFO] Scanning for projects...
[INFO] 
[INFO] ----------------< org.todivefor.myselenium:MySelenium >-----------------
[INFO] Building MySelenium 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- maven-assembly-plugin:3.1.1:single (default-cli) @ MySelenium ---
[WARNING] Cannot include project artifact: org.todivefor.myselenium:MySelenium:jar:1.0-SNAPSHOT; it doesn't have an associated file or directory.
[INFO] Building jar: /Users/peterr/Documents/NetBeansProjects/MySelenium/target/MySelenium-1.0-SNAPSHOT-jar-with-dependencies.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  4.173 s
[INFO] Finished at: 2019-05-02T11:58:17-04:00
[INFO] ------------------------------------------------------------------------
PWRMacbookPro:MySelenium peterr$ 

Если я изменю pom-файл следующим образом:

<pluginManagement>
  <plugins>
    <plugin>
      <artifactId>maven-assembly-plugin</artifactId>
    </plugin>
  </plugins>
</pluginManagement>

чтобы исключить версию для maven-assembly-plugin, maven использует плагин: 2.2-beta-5, и сборка работает:

PWRMacbookPro:MySelenium peterr$ mvn assembly:single
[INFO] Scanning for projects...
[INFO] 
[INFO] ----------------< org.todivefor.myselenium:MySelenium >-----------------
[INFO] Building MySelenium 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- maven-assembly-plugin:2.2-beta-5:single (default-cli) @ MySelenium ---
.
.
.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  5.963 s
[INFO] Finished at: 2019-05-02T11:54:25-04:00
[INFO] ------------------------------------------------------------------------
PWRMacbookPro:MySelenium peterr$ 

У меня два вопроса, если я запускаю mvn на pom без идентифицированной версии, почему maven использует плагин: 2.2-beta-5? Почему плагин 2.2-бета-5 работает, а 3.1.1 - нет?

...