2016-11-15 6 views
3

Ich versuche, eine Maven-Abhängigkeit von der aktuellen in eine andere zu ändern. Diese andere Abhängigkeit bietet abgesehen von einigen Änderungen fast die gleiche Funktionalität wie die aktuelle, da die aktuelle eine Abzweigung der älteren Version der anderen ist. Um dies zu tun, ich habe:Eclipse sieht keine Maven-Abhängigkeit

  1. alle Verweise geändert auf die alte Abhängigkeit in der pom auf die neue Abhängigkeit
  2. gelöscht und neu importiert das Projekt in Eclipse
  3. maven clean install Ran

Allerdings habe ich immer noch die gleichen Probleme wie am Anfang:

  1. Eclipse sieht keine Klassen von die Abhängigkeit. Es bietet nicht einmal an, sie zu importieren.
  2. Nach mvn clean package auf dem Projekt versucht, scheitert Maven den Build mit der folgenden Fehlermeldung:

    [ERROR] Failed to execute goal on project eet-demo-maven: Could not resolve dependencies for project cz.tomasdvorak:eet-demo-maven:jar:1.0-SNAPSHOT: Failed to collect dependencies at com.github.todvorak:eet-client:jar:1.3.2: Failed to read artifact descriptor for com.github.todvorak:eet-client:jar:1.3.2: Could not transfer artifact com.github.todvorak:eet-client:pom:1.3.2 from/to jitpack.io (https://jitpack.io): Not authorized , ReasonPhrase:Repo not found or no access token provided. -> [Help 1]

ich die pom für Tippfehler und die Version auf Richtigkeit überprüft haben, so dass diejenigen, shouldn‘ t ein Problem sein. Ich vermute, dass das mit den Abhängigkeiten/Abhängigkeitsverwaltung/jitpack und ihrer Funktionsweise zu tun hat. Ich habe sie nie wirklich berührt; alles drin ist entweder von dem Startcode, den ich für das Projekt hatte, oder von meinem anschließenden Wackeln mit Maven, in dem ich fast kompletter Anfänger bin, kopiert. Ich habe mir die this Frage angesehen und die Lösungen dort ausprobiert, aber keiner von ihnen funktioniert in meinem Fall.

Wie mache ich Maven die Abhängigkeit und ihre transitiven Abhängigkeiten wieder sehen und das Projekt korrekt kompilieren?

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> 

    <build> 
     <plugins> 

      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-dependency-plugin</artifactId> 
       <version>2.10</version> 
       <executions> 
        <execution> 
         <id>copy-dependencies</id> 
         <phase>package</phase> 
         <goals> 
          <goal>copy-dependencies</goal> 
         </goals> 
         <configuration> 
          <outputDirectory>${project.build.directory}</outputDirectory> 
          <overWriteReleases>false</overWriteReleases> 
          <overWriteSnapshots>false</overWriteSnapshots> 
          <overWriteIfNewer>true</overWriteIfNewer> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 

      <plugin> 
       <groupId>com.akathist.maven.plugins.launch4j</groupId> 
       <artifactId>launch4j-maven-plugin</artifactId> 
       <executions> 
        <execution> 
         <id>l4j-clui</id> 
         <phase>package</phase> 
         <goals> 
          <goal>launch4j</goal> 
         </goals> 
         <configuration> 
          <dontWrapJar>true</dontWrapJar> 
          <headerType>console</headerType> 
          <jar>eet-demo-maven-1.0-SNAPSHOT.jar</jar> 
          <outfile>target\EETSender.exe</outfile> 
          <errTitle></errTitle> 
          <cmdLine></cmdLine> 
          <chdir>.</chdir> 
          <priority>normal</priority> 
          <downloadUrl>http://java.com/download</downloadUrl> 
          <supportUrl></supportUrl> 
          <stayAlive>true</stayAlive> 
          <restartOnCrash>true</restartOnCrash> 
          <manifest></manifest> 
          <icon></icon> 
          <singleInstance> 
           <mutexName>EETMutex</mutexName> 
           <windowTitle></windowTitle> 
          </singleInstance> 
          <classpath> 
           <mainClass>cz.tomasdvorak.eetdemo.Main</mainClass> 
          </classpath> 
          <jre> 
           <path></path> 
           <bundledJre64Bit>false</bundledJre64Bit> 
           <bundledJreAsFallback>false</bundledJreAsFallback> 
           <minVersion>1.6.0_1</minVersion> 
           <maxVersion></maxVersion> 
           <jdkPreference>preferJre</jdkPreference> 
           <runtimeBits>64/32</runtimeBits> 
          </jre> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 

<plugin> 
    <artifactId>maven-jar-plugin</artifactId> 
    <configuration> 
     <archive> 
      <manifest> 
       <addClasspath>true</addClasspath> 
       <mainClass>cz.tomasdvorak.eetdemo.Main</mainClass> 
      </manifest> 
     </archive> 
     <descriptors> 
      <descriptor>assembly.xml</descriptor> 
     </descriptors> 
    </configuration> 
</plugin> 

</plugins> 
    </build> 

    <groupId>cz.tomasdvorak</groupId> 
    <artifactId>eet-demo-maven</artifactId> 
    <version>1.0-SNAPSHOT</version> 

    <repositories> 
     <repository> 
      <id>jitpack.io</id> 
      <url>https://jitpack.io</url> 
     </repository> 
    </repositories> 

    <dependencies> 
     <dependency> 
      <groupId>com.github.todvorak</groupId> 
      <artifactId>eet-client</artifactId> 
      </dependency> 
    </dependencies> 

    <dependencyManagement> 
     <dependencies> 
      <dependency> 
       <groupId>com.github.todvorak</groupId> 
       <artifactId>eet-client</artifactId> 
       <version>1.3.2</version> 
      </dependency> 
     </dependencies> 
    </dependencyManagement> 
</project> 

EDIT: The dependency in question on GitHub

EDIT 2: Ich habe die pom wie folgt verändert und ich habe beschwichtigt offenbar die Geister von Maven in das Projekt erneut zu bauen. Mit Eclipse importiere ich alles, was es vorher nicht sehen konnte. Die Erklärung dieses plötzlichen Sinneswandels wäre jedoch immer noch eine wertvolle Schlussfolgerung für seine Frage.

<project> 
. 
. 
. 
    <dependencies> 
    <dependency> 
     <groupId>com.github.todvora</groupId> 
     <artifactId>eet-client</artifactId> 
     <version>1.3.2</version> 
    </dependency> 
    </dependencies> 
<!-- 
    <dependencyManagement> 
     <dependencies> 
      <dependency> 
       <groupId>com.github.todvorak</groupId> 
       <artifactId>eet-client</artifactId> 
       <version>1.3.2</version> 
      </dependency> 
     </dependencies> 
    </dependencyManagement> 
    --> 
</project> 
+1

Scheint nicht heruntergeladen werden kann. Vielleicht wegen der Rechte oder vielleicht ist es noch nicht bereitgestellt. Können Sie die Abhängigkeit 'com.github.todvorak: eet-client: jar: 1.3.2' manuell herunterladen? –

+0

Es scheint so. Ich weiß nicht, was genau du damit meinst, aber du kannst es über den "Clone or download" Knopf auf GitHub bekommen und es ist unter dem JitPack Knopf. – Sargon1

+0

Dann wird es wahrscheinlich bereitgestellt, versuchen Sie, die Datei manuell mit Ihren Maven-Einstellungen usw. zu laden. Siehe http://stackoverflow.com/questions/1895492/how-can-i-download-a-specific-maven-artifact-in- One-Command-Line, wie es aufgerufen wird. Wenn es heruntergeladen wird, dann ist das Problem woanders, aber ich bezweifle das ... –

Antwort

2

sollte die Abhängigkeit sein:

<dependencies> 
    <dependency> 
     <groupId>com.github.todvora</groupId> 
     <artifactId>eet-client</artifactId> 

    </dependency> 
</dependencies> 

<dependencyManagement> 
    <dependencies> 
     <dependency> 
      <groupId>com.github.todvora</groupId> 
      <artifactId>eet-client</artifactId> 
      <version>1.3.2</version> 
     </dependency> 
    </dependencies> 
</dependencyManagement> 

Sie eine zusätzliche k fügen eine Abhängigkeit tordova

+0

Wahr.Aus irgendeinem Grund funktioniert es wieder, wenn ich entsorgt und eine Version zu dem entsprechenden hinzugefügt habe. Ich glaube, ich bin zu sehr an die automatische Vervollständigung und Rechtschreibprüfung gewöhnt. Ich habe den Fehler versehentlich korrigiert, als ich über automatisch generierte Pom-Zeilen von JitPack kopiert habe, um die Abhängigkeit hinzuzufügen. – Sargon1

Verwandte Themen