2016-03-24 9 views
1

Wenn ich versuche, das com.googlecode.maven-download-plugin.download-maven-plugin: 1.2.1 zu verwenden, um eine zip-Datei herunterzuladen und zu entpacken, bekomme ich Folgendes Error. Ich habe versucht, die Dateiberechtigungen zu überprüfen, wenn ich es auf einen Windows- oder Unix-Rechner herunterlade, aber die Berechtigungen sehen wie normal aus (-rw-r - r--) Irgendwelche Ideen, warum dieser Fehler geworfen wird?download-maven-plugin wirft IllegalArgumentException

<plugin> 
    <groupId>com.googlecode.maven-download-plugin</groupId> 
    <artifactId>download-maven-plugin</artifactId> 
    <version>${download-maven-plugin.version}</version> 
    <executions> 
     <execution> 
      <id>download-sample</id> 
      <phase>initialize</phase> 
      <goals> 
       <goal>wget</goal> 
      </goals> 
      <configuration> 
       <url>${sample-url}</url> 
       <unpack>true</unpack> 
       <outputDirectory>${project.build.directory}/kit</outputDirectory> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 


[INFO] --- download-maven-plugin:1.2.1:wget (download-sample) @ sample-p2-create-and-mirror --- 
[DEBUG] Cache is: /appl/home/.m2/repository/.cache/maven-download-plugin 
[INFO] Got from cache: /appl/home/.m2/repository/.cache/maven-download-plugin/EXAMPLE.zip 

[DEBUG] Expanding: /appl/home/jenkins/jobs/folder/workspace/sample/target/kit/EXAMPLE.zip into /appl/home/jenkins/jobs/folder/workspace/sample/target/kit 
Started calculate disk usage of build 
Finished Calculation of disk usage of build in 0 seconds 
Started calculate disk usage of workspace 
Finished Calculation of disk usage of workspace in 0 seconds 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 6.714 s 
[INFO] Finished at: 2016-03-24T17:25:28+01:00 

[INFO] Final Memory: 16M/641M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal com.googlecode.maven-download-plugin:download-maven-plugin:1.2.0:wget (download-sample) on project sample-p2-create-and-mirror: IO Error: file mode must be 3 or 4 characters -> [Help 1] 
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal com.googlecode.maven-download-plugin:download-maven-plugin:1.2.0:wget (download-sample) on project sample-p2-create-and-mirror: IO Error 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80) 
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) 
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120) 
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:355) 
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155) 
    at org.jvnet.hudson.maven3.launcher.Maven32Launcher.main(Maven32Launcher.java:132) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:330) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:238) 
    at jenkins.maven3.agent.Maven32Main.launch(Maven32Main.java:186) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    at hudson.maven.Maven3Builder.call(Maven3Builder.java:136) 
    at hudson.maven.Maven3Builder.call(Maven3Builder.java:71) 
    at hudson.remoting.UserRequest.perform(UserRequest.java:120) 
    at hudson.remoting.UserRequest.perform(UserRequest.java:48) 
    at hudson.remoting.Request$2.run(Request.java:326) 
    at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: org.apache.maven.plugin.MojoExecutionException: IO Error 
    at com.googlecode.WGet.execute(WGet.java:260) 
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) 
    ... 30 more 
Caused by: java.lang.IllegalArgumentException: file mode must be 3 or 4 characters 
    at org.codehaus.plexus.archiver.util.FilePermissionUtils.getFilePermissionFromMode(FilePermissionUtils.java:55) 
    at org.codehaus.plexus.archiver.util.ArchiveEntryUtils.applyPermissionsWithJvm(ArchiveEntryUtils.java:133) 
    at org.codehaus.plexus.archiver.util.ArchiveEntryUtils.chmod(ArchiveEntryUtils.java:61) 
    at org.codehaus.plexus.archiver.zip.AbstractZipUnArchiver.extractFile(AbstractZipUnArchiver.java:238) 
    at org.codehaus.plexus.archiver.zip.AbstractZipUnArchiver.extractFileIfIncluded(AbstractZipUnArchiver.java:185) 
    at org.codehaus.plexus.archiver.zip.AbstractZipUnArchiver.execute(AbstractZipUnArchiver.java:149) 
    at org.codehaus.plexus.archiver.AbstractUnArchiver.extract(AbstractUnArchiver.java:120) 
    at com.googlecode.WGet.unpack(WGet.java:269) 
    at com.googlecode.WGet.execute(WGet.java:255) 
    ... 32 more 
[ERROR] 
+0

Was mögen Sie mit dem Download eine Zip erreichen Datei während einer Maven Build? – khmarbaise

+0

Ziel ist es, diesen Zip von einer Website herunterzuladen und aus den extrahierten Inhalten einen P2 Repo zu erstellen. Gibt es außer maven-resources und ant-run noch ein anderes maven-Plugin, das heruntergeladen und entpackt werden kann? Letzteres ist für eine so einfache Aufgabe komplizierter als nötig. Oder habe ich hier einen falschen Eindruck? –

+1

Um ein P2 Repo zu erstellen, ist das nicht die Aufgabe von Maven ... das kannst du natürlich auch erreichen ... Ich würde vorschlagen, [Wagon Maven Plugin] anzuschauen (http://www.mojohaus.org/wagon- maven-plugin /) ... Aber ich würde über Dinge wie ein Repository nachdenken, das mit solchen Dingen wie Nexus umgehen kann ... – khmarbaise

Antwort

0

Ich habe das gleiche Problem in diesem Moment. Ich habe herausgefunden, dass das Plugin nach dem Löschen der .m2\repository\.cache\download-maven-plugin erneut erfolgreich ausgeführt wurde.

Ich denke, ich werde Plugin ändern, wie khmarbaise vorgeschlagen.

EDIT 1

Da ich diese Antwort Download-Plugin hinzufügen geschrieben oft Problem Herunterladen von Dateien und ich wechselte schließlich zu antrun Plugin:

<artifactId>maven-antrun-plugin</artifactId> 
<executions> 
    <execution> 
     <id>download</id> 
     <phase>none</phase><!-- I didn't need to link to phase --> 
     <goals> 
      <goal>run</goal> 
     </goals> 
     <configuration> 
      <target> 
       <echo message="Download file http://fake-url.com/xxx" /> 
       <get src="http://fake-url.com/xxx" dest="${project.build.directory}/to-file-path.xxx" /> 
      </target> 
     </configuration> 
    </execution> 
Verwandte Themen