Uploaded image for project: 'Karaf'
  1. Karaf
  2. KARAF-4314

karaf-maven-plugin issue when parsing feature xmls with <repository> entries that contain a newline and/or whitespaces

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 4.0.4
    • 4.0.9, 4.1.1
    • karaf
    • None

    Description

      The karaf-maven-plugin (tested with 4.0.3 and 4.0.4) has an issue when parsing feature xmls with <repository> entries that contain a newline and/or whitespaces.
      Having an (eclipse auto-formatted) entry like
      <repository>mvn:org.apache.karaf.features/enterprise/${karaf.version}/xml/features
      </repository>
      causes the plugin to try and create a lock file with the name <path to maven-repository>\apache\karaf\features\enterprise\4.0.4\enterprise-4.0.4-features<newline><tabulator>.xml.part.lock
      which in turn causes the following exception to be thrown:

      shaded.org.eclipse.aether.resolution.ArtifactResolutionException: Could not transfer artifact org.apache.karaf.features:enterprise:xml:features
      :4.0.4 from/to maven-srv (http://maven-srv:8080/nexus/content/groups/kisters-central/): C:\Users\jfrank\.m2\repository\org\apache\karaf\features\enterprise\4.0.4\enterprise-4.0.4-features
      .xml.part.lock (Die Syntax f▒r den Dateinamen, Verzeichnisnamen oder die Datentr▒gerbezeichnung ist falsch)
      at shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:444)
      at shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:246)
      at shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:223)
      at shaded.org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:294)
      at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:615)
      at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:570)
      at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:548)
      at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:523)
      at org.apache.karaf.features.internal.download.impl.MavenDownloadTask.download(MavenDownloadTask.java:34)
      at org.apache.karaf.features.internal.download.impl.AbstractRetryableDownloadTask.run(AbstractRetryableDownloadTask.java:58)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
      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: shaded.org.eclipse.aether.transfer.ArtifactTransferException: Could not transfer artifact org.apache.karaf.features:enterprise:xml:features
      :4.0.4 from/to maven-srv (http://maven-srv:8080/nexus/content/groups/kisters-central/): C:\Users\jfrank\.m2\repository\org\apache\karaf\features\enterprise\4.0.4\enterprise-4.0.4-features
      .xml.part.lock (Die Syntax f▒r den Dateinamen, Verzeichnisnamen oder die Datentr▒gerbezeichnung ist falsch)
      at shaded.org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:43)
      at shaded.org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:355)
      at shaded.org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:67)
      at shaded.org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:581)
      at shaded.org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:249)
      at shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:520)
      at shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:421)
      ... 16 more
      Caused by: java.io.FileNotFoundException: C:\Users\jfrank\.m2\repository\org\apache\karaf\features\enterprise\4.0.4\enterprise-4.0.4-features
      .xml.part.lock (Die Syntax f▒r den Dateinamen, Verzeichnisnamen oder die Datentr▒gerbezeichnung ist falsch)
      at java.io.RandomAccessFile.open0(Native Method)
      at java.io.RandomAccessFile.open(RandomAccessFile.java:316)
      at java.io.RandomAccessFile.<init>(RandomAccessFile.java:243)
      at shaded.org.eclipse.aether.connector.basic.PartialFile$LockFile.tryLock(PartialFile.java:123)
      at shaded.org.eclipse.aether.connector.basic.PartialFile$LockFile.lock(PartialFile.java:71)
      at shaded.org.eclipse.aether.connector.basic.PartialFile$LockFile.<init>(PartialFile.java:58)
      at shaded.org.eclipse.aether.connector.basic.PartialFile$Factory.newInstance(PartialFile.java:210)
      at shaded.org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.runTask(BasicRepositoryConnector.java:432)
      at shaded.org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:350)
      ... 21 more

      Note: the english translation of this localizied System error is "The filename, directory name, or volume label syntax is incorrect." which is no surprise, given that the filename is containing a new-line.

      Using the <repository> tag like this:
      <repository>mvn:org.apache.karaf.features/enterprise/${karaf.version}/xml/features</repository>
      does not yield the exception, the build then completes normally.

      Attachments

        Issue Links

          Activity

            People

              gnodet Guillaume Nodet
              glance Andy Schmidt
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: