В моем локальном репозитории (.m2/repository
) У меня есть несколько банок, которые я хочу, чтобы они были скопированы (и указаны) в моем проекте. У меня есть следующие pom.xml
для com.google.protobuf
артефакта:maven-dependency-plugin копирует банки неправильным способом
<?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>
<parent>
<groupId>groupName</groupId>
<artifactId>groupName.master</artifactId>
<relativePath>../pom.xml</relativePath>
<version>1.0.0-SNAPSHOT</version>
</parent>
<groupId>groupName</groupId>
<artifactId>com.google.protobuf</artifactId>
<name>com.google.protobuf</name>
<version>2.5.0</version>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.10</version>
<executions>
<execution>
<id>copy-installed</id>
<phase>install</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>${project.groupId}</groupId>
<artifactId>${project.artifactId}</artifactId>
<version>${project.version}</version>
<type>${project.packaging}</type>
</artifactItem>
</artifactItems>
<outputDirectory>build</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
в основном я хочу этот плагин, чтобы скопировать необходимую банку файл в папку с именем сборки, которая находится под самой папке модуля. Это вроде бы копирует банку. Однако, когда я нажимаю и открываю банку, я не вижу файлов, но только проявляет. Таким образом, ссылки, очевидно, дают ошибку. Я проверил свой локальный репозиторий, и там есть банку, и она правильно сформирована. Поэтому источник не проблема. Что-то не так с процессом копирования.
Вот банки одного и того же артефакта. Один из них берется из локального репозитория (см. Выше), а другой - так называемый скопированный в папку build
. Как вы можете видеть, в скопированном файле отсутствуют файлы классов, которые находятся под папкой com
.
Почему плагин скопировать этот неправильно? У кого-то был подобный опыт?
ОБНОВЛЕНИЕ: Одна вещь, которую я заметил, это то, что у этих двух банок есть разные файлы MANIFEST внутри. Может ли это быть случай, когда одна из банок каким-то образом взята откуда-то, где она не должна быть?