Hi,
As Karaf 4.2.x targets Java 9, we had to change some stuff. As endorsed doesn't
exist anymore in Java 9, <libraries/> tag should stay empty.
Regards
JB
On 11/06/2017 09:12 PM, Francois Papon wrote:
Hi,
I just change the Karaf version of my custom distribution from 4.1.2 to 4.2.0.M1
and the maven build failed on the assembly.
The endorsed librairies are found by the plugin in the local repository but not
copy in the lib/endorsed target directory.
Here the plugin declaration with <librairies>
<plugin>
<groupId>org.apache.karaf.tooling</groupId>
<artifactId>karaf-maven-plugin</artifactId>
<version>${karaf.version}</version>
<extensions>true</extensions>
<configuration>
<installedFeatures>
<feature>my-project</feature>
</installedFeatures>
<bootFeatures>
<feature>wrapper</feature>
<feature>wrap</feature>
<feature>aries-blueprint</feature>
<feature>shell</feature>
<feature>shell-compat</feature>
<feature>feature</feature>
<feature>jaas</feature>
<feature>ssh</feature>
<feature>management</feature>
<feature>bundle</feature>
<feature>config</feature>
<feature>deployer</feature>
<feature>diagnostic</feature>
<feature>instance</feature>
<feature>kar</feature>
<feature>log</feature>
<feature>package</feature>
<feature>service</feature>
<feature>system</feature>
<feature>eventadmin</feature>
<feature>scr</feature>
<feature>jdbc</feature>
<feature>jndi</feature>
<feature>jpa</feature>
<feature>jms</feature>
<feature>transaction</feature>
<feature>eclipselink</feature>
<feature>spring</feature>
<feature>war</feature>
<feature>cxf</feature>
<feature>cxf-jaxrs</feature>
<feature>cxf-rs-description-swagger2</feature>
<feature>pax-jdbc</feature>
<feature>pax-jdbc-config</feature>
<feature>pax-jdbc-pool-hikaricp</feature>
<feature>pax-jdbc-pool-aries</feature>
<feature>pax-jdbc-postgresql</feature>
<feature>activemq-client</feature>
<feature>activemq-cf</feature>
<feature>activemq</feature>
<feature>activemq-camel</feature>
<feature>camel</feature>
<feature>camel-jackson</feature>
<feature>camel-restlet</feature>
<feature>camel-restlet-jackson</feature>
<feature>camel-jms</feature>
<feature>camel-servlet</feature>
<feature>camel-swagger-java</feature>
<!-- CELLAR -->
<feature>cellar</feature>
</bootFeatures>
*<libraries>**
**<library>mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxrs-api-2.1/${servicemix.specs.jaxrs.version};type:=endorsed;export:=true</library>**
**<library>mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.json-api-1.1/${servicemix.specs.json.version};type:=endorsed;export:=true</library>**
** </libraries>*
<javase>1.8</javase>
</configuration>
</plugin>
[INFO] Downloading libraries
[DEBUG] Resolved
(org.apache.servicemix.specs:org.apache.servicemix.specs.jaxrs-api-2.1:jar:2.9.1) as
/home/user/.m2/repository/org/apache/servicemix/specs/org.apache.servicemix.specs.jaxrs-api-2.1/2.9.1/org.apache.servicemix.specs.jaxrs-api-2.1-2.9.1.jar
[INFO] adding library:
lib/endorsed/org.apache.servicemix.specs.jaxrs-api-2.1-2.9.1.jar
[DEBUG] Resolved
(org.apache.servicemix.specs:org.apache.servicemix.specs.json-api-1.1:jar:2.9.0)
as
/home/user/.m2/repository/org/apache/servicemix/specs/org.apache.servicemix.specs.json-api-1.1/2.9.0/org.apache.servicemix.specs.json-api-1.1-2.9.0.jar
[INFO] adding library:
lib/endorsed/org.apache.servicemix.specs.json-api-1.1-2.9.0.jar
...
[DEBUG] Connection manager is shutting down
[DEBUG] Connection manager shut down
[ERROR] Failed to execute goal
org.apache.karaf.tooling:karaf-maven-plugin:4.2.0.M1:assembly (default-assembly)
on project moss-orchestrator-assembly: Unable to build assembly: Error:
[ERROR]
/home/user/my-project-assembly/target/assembly/lib/endorsed/org.apache.servicemix.specs.jaxrs-api-2.1-2.9.1.jar
[ERROR]
/home/user/my-project-assembly/target/assembly/lib/endorsed/org.apache.servicemix.specs.json-api-1.1-2.9.0.jar
[ERROR] -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal
org.apache.karaf.tooling:karaf-maven-plugin:4.2.0.M1:assembly (default-assembly)
on project moss-orchestrator-assembly: Unable to build assembly
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
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:128)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
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.launchEnhanced(Launcher.java:289)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at
org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.MojoExecutionException: Unable to build
assembly
at org.apache.karaf.tooling.AssemblyMojo.execute(AssemblyMojo.java:283)
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
... 20 more
Caused by: org.apache.karaf.features.internal.util.MultiException: Error:
/home/user/my-project-assembly/target/assembly/lib/endorsed/org.apache.servicemix.specs.jaxrs-api-2.1-2.9.1.jar
/home/user/my-project-assembly/target/assembly/lib/endorsed/org.apache.servicemix.specs.json-api-1.1-2.9.0.jar
at
org.apache.karaf.features.internal.download.impl.MavenDownloadManager$MavenDownloader.<init>(MavenDownloadManager.java:91)
at
org.apache.karaf.profile.assembly.CustomDownloadManager$CustomMavenDownloader.<init>(CustomDownloadManager.java:57)
at
org.apache.karaf.profile.assembly.CustomDownloadManager.createDownloader(CustomDownloadManager.java:54)
at
org.apache.karaf.profile.assembly.Builder.doGenerateAssembly(Builder.java:599)
at
org.apache.karaf.profile.assembly.Builder.generateAssembly(Builder.java:446)
at org.apache.karaf.tooling.AssemblyMojo.doExecute(AssemblyMojo.java:521)
at org.apache.karaf.tooling.AssemblyMojo.execute(AssemblyMojo.java:277)
... 22 more
Suppressed: java.nio.file.NoSuchFileException:
/home/user/my-project-assembly/target/assembly/lib/endorsed/org.apache.servicemix.specs.jaxrs-api-2.1-2.9.1.jar
at
sun.nio.fs.UnixException.translateToIOException(UnixException.java:86)
at
sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
at
sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
at sun.nio.fs.UnixCopyFile.copyFile(UnixCopyFile.java:243)
at sun.nio.fs.UnixCopyFile.copy(UnixCopyFile.java:581)
at
sun.nio.fs.UnixFileSystemProvider.copy(UnixFileSystemProvider.java:253)
at java.nio.file.Files.copy(Files.java:1274)
at
org.apache.karaf.profile.assembly.Builder.lambda$downloadLibraries$2(Builder.java:735)
at
org.apache.karaf.features.internal.download.impl.MavenDownloadManager$MavenDownloader.lambda$download$0(MavenDownloadManager.java:138)
at
org.apache.karaf.features.internal.download.impl.DefaultFuture.notifyListener(DefaultFuture.java:350)
at
org.apache.karaf.features.internal.download.impl.DefaultFuture.addListener(DefaultFuture.java:299)
at
org.apache.karaf.features.internal.download.impl.MavenDownloadManager$MavenDownloader.download(MavenDownloadManager.java:134)
at
org.apache.karaf.profile.assembly.Builder.downloadLibraries(Builder.java:729)
at
org.apache.karaf.profile.assembly.Builder.doGenerateAssembly(Builder.java:601)
... 25 more
Suppressed: java.nio.file.NoSuchFileException:
/home/user/my-project-assembly/target/assembly/lib/endorsed/org.apache.servicemix.specs.json-api-1.1-2.9.0.jar
at
sun.nio.fs.UnixException.translateToIOException(UnixException.java:86)
at
sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
at
sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
at sun.nio.fs.UnixCopyFile.copyFile(UnixCopyFile.java:243)
at sun.nio.fs.UnixCopyFile.copy(UnixCopyFile.java:581)
at
sun.nio.fs.UnixFileSystemProvider.copy(UnixFileSystemProvider.java:253)
at java.nio.file.Files.copy(Files.java:1274)
at
org.apache.karaf.profile.assembly.Builder.lambda$downloadLibraries$2(Builder.java:735)
at
org.apache.karaf.features.internal.download.impl.MavenDownloadManager$MavenDownloader.lambda$download$0(MavenDownloadManager.java:138)
at
org.apache.karaf.features.internal.download.impl.DefaultFuture.notifyListener(DefaultFuture.java:350)
at
org.apache.karaf.features.internal.download.impl.DefaultFuture.notifyListeners(DefaultFuture.java:335)
at
org.apache.karaf.features.internal.download.impl.DefaultFuture.setValue(DefaultFuture.java:259)
at
org.apache.karaf.features.internal.download.impl.AbstractDownloadTask.setFile(AbstractDownloadTask.java:61)
at
org.apache.karaf.features.internal.download.impl.AbstractRetryableDownloadTask.run(AbstractRetryableDownloadTask.java:61)
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:1149)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
--
Jean-Baptiste Onofré
[email protected]
http://blog.nanthrax.net
Talend - http://www.talend.com