2016-03-27 2 views
1

Ich versuche, eine benutzerdefinierte Ant-Task, in einem Jar, der nicht unter Maven Central, definiert ist, und damit ein privates Repository für diese erstellt.Fordern Sie eine benutzerdefinierte ant Aufgabe aus einem privaten Repository in einem maven-antrun-plugin

ist das Repository mit so etwas wie dies definiert, die auch andere "private" Gläser beherbergt, die prefectly entdeckt werden:

<repositories> 
     <repository> 
      <id>repository.com</id> 
      <name>repository.com</name> 
      <url>http://repository.com/maven/</url> 
     </repository> 
    </repositories> 

Nun ist die Frage:

Obwohl in den Dokumentationsstatus zu Definieren Sie die Abhängigkeit innerhalb der <Plugin> Abschnitt nur, ich habe festgestellt, dass ich auch die Abhängigkeit auch innerhalb der generischen < Abhängigkeiten > der Pom-Datei definieren müssen.

So praktisch so etwas wie dies, das die Abhängigkeit Beschreibungen Duplikate:

<dependencies> 
     <dependency> 
      <groupId>org.bitbucket.infinitekind</groupId> 
      <artifactId>appbundler</artifactId> 
      <version>1.0ea</version> 
     </dependency> 
    </dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <artifactId>maven-antrun-plugin</artifactId> 
       <version>1.7</version> 
       <executions> 
        <execution> 
         <id>local-install</id> 
         <phase>install</phase> 
         <configuration> 
          <target> 
           <taskdef name="appbundler" onerror="fail" classpathref="maven.plugin.classpath" classname="com.oracle.appbundler.AppBundlerTask"/> 
          </target> 
         </configuration> 
         <goals> 
          <goal>run</goal> 
         </goals> 
        </execution> 
       </executions> 
       <dependencies> 
        <dependency> 
         <groupId>org.bitbucket.infinitekind</groupId> 
         <artifactId>appbundler</artifactId> 
         <version>1.0ea</version> 
        </dependency> 
       </dependencies> 
      </plugin> 
     </plugins> 
    </build> 

Ist dies das erwartete Verhalten oder ich bin etwas fehlt?

EDIT

Es scheint sogar dann ist die Abhängigkeit nicht erfüllt. Obwohl ich deutlich, dass sehen kann (aufgrund der generischen depenedency) das Glas heruntergeladen und in ~/.m2 Repository platziert, Ant-Task immer noch nicht versteht es:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.8:run (local-install) on project cmmanager: Execution local-install of goal org.apache.maven.plugins:maven-antrun-plugin:1.8:run failed: Plugin org.apache.maven.plugins:maven-antrun-plugin:1.8 or one of its dependencies could not be resolved: Failure to find org.bitbucket.infinitekind:appbundler:jar:1.0ea in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced -> [Help 1]

Antwort

1

Nun, nachdem einige mehr Graben, fand ich die Antwort. Das Problem besteht darin, dass Plug-in-Abhängigkeiten nicht über den Abschnitt "Repositories", sondern über die Abschnitte "pluginRepositories" aufgelöst werden. So wird das Problem behoben:

<pluginRepositories> 
    <pluginRepository> 
     <id>repository.com</id> 
     <url>http://repository.com/maven/</url> 
    </pluginRepository> 
</pluginRepositories> 
Verwandte Themen