You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@karaf.apache.org by "Andy Schmidt (JIRA)" <ji...@apache.org> on 2016/02/04 14:43:39 UTC

[jira] [Created] (KARAF-4314) karaf-maven-plugin issue when parsing feature xmls with entries that contain a newline and/or whitespaces

Andy Schmidt created KARAF-4314:
-----------------------------------

             Summary: karaf-maven-plugin issue when parsing feature xmls with <repository> entries that contain a newline and/or whitespaces
                 Key: KARAF-4314
                 URL: https://issues.apache.org/jira/browse/KARAF-4314
             Project: Karaf
          Issue Type: Bug
    Affects Versions: 4.0.4
            Reporter: Andy Schmidt


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.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)