In meinem lokalen Repository (.m2/repository
) habe ich mehrere Gläser, die ich möchte, dass sie in meinem Projekt kopiert (und referenziert) werden. Ich habe die folgende pom.xml
für die com.google.protobuf
Artefakt:maven-dependency-plugin kopiert Jupiter falsch
<?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>
im Grunde möchte ich dieses Plugin die notwendige jar-Datei in den Ordner mit dem Namen Build kopieren, der sich unter dem Modul-Ordner ist. Es kopiert irgendwie ein Glas. Wenn ich jedoch auf das Glas klicke und es öffne, sehe ich keine Dateien, sondern nur Manifeste. Also geben die Referenzen offensichtlich Fehler. Ich überprüfte mein lokales Repository und das Glas ist da, und es ist richtig gebildet. Also ist die Quelle nicht das Problem. Etwas stimmt nicht mit dem Kopiervorgang.
Hier sind die Gläser des gleichen Artefakts. Einer ist aus dem lokalen Repository (oben) und der andere ist der so genannte kopierte zum build
Ordner. Wie Sie sehen können, fehlen dem kopierten Ordner die Klassendateien, die sich unter dem Ordner com
befinden.
Warum kopiert das Plugin dies falsch? Hat jemand eine ähnliche Erfahrung gemacht?
UPDATE: Eine Sache, die ich bemerkte, ist, dass diese zwei Gläser verschiedene MANIFEST-Dateien haben. Könnte das der Fall sein, dass eines der Gefäße irgendwie von irgendwoher genommen wird, wo es nicht sein soll?