You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@karaf.apache.org by "Jonathan Byrne (JIRA)" <ji...@apache.org> on 2015/07/02 16:03:04 UTC

[jira] [Commented] (KARAF-3811) Exception thrown when including the feature "feature" in Maven karaf:assembly goal

    [ https://issues.apache.org/jira/browse/KARAF-3811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14611990#comment-14611990 ] 

Jonathan Byrne commented on KARAF-3811:
---------------------------------------

For some reason, a lock is being maintained on JAR files after they are extracted from the KAR.  Later in the process, the same JAR is copied from the Maven repository to the same location where the KAR was extracted.  A FileSystemException is thrown because the destination file is locked.  

I can't figure out why the file is still locked and I suspect it may be an issue specific to the Windows HotSpot JVM.  Ideally, I think the file should not be copied more than once.  However, that change was going to be more substantial than I was willing to tackle.  Instead, I changed the download method to ignore the FileSystemException exception from a failed overwrite caused by a file lock.  This definitely feels hackish to me because it doesn't address either of the two root issues.  However, it was fast, it worked, and it has a low probability of causing other problems.


> Exception thrown when including the feature "feature" in Maven karaf:assembly goal
> ----------------------------------------------------------------------------------
>
>                 Key: KARAF-3811
>                 URL: https://issues.apache.org/jira/browse/KARAF-3811
>             Project: Karaf
>          Issue Type: Bug
>          Components: karaf-profile, karaf-tooling
>    Affects Versions: 4.0.0
>            Reporter: Jonathan Byrne
>              Labels: maven
>         Attachments: KARAF-3811.patch, pom.xml
>
>
> The exception below is thrown when you include the feature named "feature" in the Maven configuration. Attached is a POM file that replicates the error. 
> Suppressed: java.nio.file.FileSystemException: C:\dev\code\karaf-test\target\assembly\system\org\apache\karaf\features\org.apache.karaf.features.core\4.0.0\org.apache.karaf.features.core-4.0.0.jar: The process cannot access the file because it is being used by another process.
>         at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:86)
>         at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97)
>         at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:102)
>         at sun.nio.fs.WindowsFileCopy.copy(WindowsFileCopy.java:165)
>         at sun.nio.fs.WindowsFileSystemProvider.copy(WindowsFileSystemProvider.java:278)
>         at java.nio.file.Files.copy(Files.java:1274)
>         at org.apache.karaf.profile.assembly.Builder$3.downloaded(Builder.java:969)
>         at org.apache.karaf.features.internal.download.impl.MavenDownloadManager$MavenDownloader$1.operationComplete(MavenDownloadManager.java:133)
>         at org.apache.karaf.features.internal.download.impl.MavenDownloadManager$MavenDownloader$1.operationComplete(MavenDownloadManager.java:127)
>         at org.apache.karaf.features.internal.download.impl.DefaultFuture.notifyListener(DefaultFuture.java:344)
>         at org.apache.karaf.features.internal.download.impl.DefaultFuture.addListener(DefaultFuture.java:293)
>         at org.apache.karaf.features.internal.download.impl.MavenDownloadManager$MavenDownloader.download(MavenDownloadManager.java:127)
>         at org.apache.karaf.profile.assembly.Builder.installArtifact(Builder.java:959)
>         at org.apache.karaf.profile.assembly.Builder.bootStage(Builder.java:771)
>         ... 26 more



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