-
1. Re: Specify maven repository for OSGI capability resolution?
jye.tucker Apr 28, 2012 1:59 PM (in response to jye.tucker)It looks like the local repo, central and the JBoss repo are hardcoded in org.jboss.osgi.repository.core.MavenArtifactProvider.
I can't think of a logical place where additional repos could be defined. If someone can give me some direction on how this should be implemented, I'm happy to do a patch.
-
2. Re: Specify maven repository for OSGI capability resolution?
eran_kazula May 23, 2012 11:41 AM (in response to jye.tucker)Hello,
I seem to be facing an issue "of the same neighborhood". I'm trying to add the following 2 "pax-web" OSGI capabilities (in the 'standalone.xml'):
<capability name="org.ops4j.pax.web:pax-web-jsp:1.1.2"/>
<capability name="org.ops4j.pax.web:pax-web-jetty-bundle:1.1.2"/>
When JBoss AS starts-up, the "org.jboss.osgi.repository.core.MavenArtifactProvider" tries to resolve the location of these capabilities from my local repository (c:\Documents and Settings\eran\.m2\...). For some reason, although the JAR resource files of these capabilities DO exist in my local repository, I'm seeing that the resolution is attempted twice - first the tries to read the resource files from the actual local repository location "c:\Documents and Settings\eran\.m2" and immidiately after it attempts to escape the spaces from the URI and re-read the resources files from "c:\Documents%20and%20Settings\eran\.m2" (putting the percent-sign20 instead of the actual spaces). This causes the following exception:
15:14:19,796 INFO [org.jboss.osgi.repository.core.RepositoryImpl] (MSC service thread 1-3) find providers for: AbstractRequirement[maven.identity,attributes={maven.identity=org.ops4j.pax.web:pax-web-jsp:jar:1.1.2}]
15:14:19,843 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-3) MSC00001: Failed to start service jbosgi.AutoInstallProvider: org.jboss.msc.service.StartException in service jbosgi.AutoInstallProvider: JBAS011964: Failed to create auto install list
at org.jboss.as.osgi.service.AutoInstallIntegration.start(AutoInstallIntegration.java:190)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [rt.jar:1.6.0_22]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [rt.jar:1.6.0_22]
at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_22]
Caused by: org.jboss.osgi.repository.RepositoryResolutionException: java.lang.IllegalStateException: java.io.FileNotFoundException: C:\Documents%20and%20Settings\eran\.m2\repository\org\ops4j\pax\web\pax-web-jsp\1.1.2\pax-web-jsp-1.1.2.jar (The system cannot find the path specified)
at org.jboss.osgi.repository.core.MavenArtifactProvider.findProviders(MavenArtifactProvider.java:95)
at org.jboss.osgi.repository.core.TrackingArtifactProvider.findProviders(TrackingArtifactProvider.java:56)
at org.jboss.osgi.repository.core.RepositoryImpl.findProviders(RepositoryImpl.java:62)
at org.jboss.as.osgi.service.AutoInstallIntegration.installModule(AutoInstallIntegration.java:225)
at org.jboss.as.osgi.service.AutoInstallIntegration.start(AutoInstallIntegration.java:155)
The funny thing is that if I delete these resource files from my local repository, the everything works fine! (which I'm assuming means that the resolution of these capabilities gets done from JBoss' repository).
Is this a bug of some sort or is there a work-around (aside from perhaps changing my local repository to a location that does not contain spaces)?
Regards,
Eran.
-
3. Re: Specify maven repository for OSGI capability resolution?
thehashcoder Jul 30, 2012 4:35 AM (in response to eran_kazula)Thanks Eran for sharing your findings. I was also suffering from the same problem ( FileNotFoundException in maven repos). I could resolve it by deleting those files from maven repos, as you said.
Thanks
Ranis MK
-
4. Re: Specify maven repository for OSGI capability resolution?
jrantav Feb 13, 2013 6:36 AM (in response to thehashcoder)I wonder is there documentation about this feature? I waasn't able to find any. I seem to recollect faintly that this autoinstall would not actally install the stuff permanently (in the module structure or deployments), but haven't seen info on that either.