Mirko,

You’ll notice if you look at the source that it’s a JSR330 component. So there 
is a the sisu-maven-plugin which generates a META-INF/sisu/javax.inject.Named 
as part of the build. You will want to look in your shaded JAR and make sure 
you have one of those files, I’m not certain if there is a resource transformer 
that deals with this file so you might have to make one of those. I say might 
because it depends on how you start up the container for Maven. If you don’t 
particularly care about startup speed you can make the container scan the 
classpath and it will create all the bindings from the classes in the scan. By 
default in Maven we get the container to use the index file cited above because 
it’s much faster at creating all the bindings. Your error results from there 
being no binding for the DefaultClassRealmManager so it’s likely not finding 
the javax.inject.Named file.

If you look at some of the test cases[1] in maven-core you’ll see where the 
container is created and see how the scanning behaviour is changed. To try 
something quickly you can just turn the classpath scanning on and see if it’s 
fast enough. You might also have to lift a few bits from the PlexusTestCase 
class itself but it’s very similar to how the container if created in the 
MavenCli class which also serves as an example.

[1]: 
https://github.com/apache/maven/blob/master/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java

> On Nov 22, 2015, at 2:03 AM, Mirko Friedenhagen <mfriedenha...@gmail.com> 
> wrote:
> 
> Hello Stephen, I will share how to do this in general. As it it not as easy
> as I hoped I will firstly extract a POC project and share that on GitHub
> immediately with the risk of never succeeding :-)
> 
> Regards
> Mirko
> -- 
> Sent from my mobile
> Am 21.11.2015 23:34 schrieb "Stephen Connolly" <
> stephen.alan.conno...@gmail.com>:
> 
>> If you get this working, any chance you could share your work?
>> 
>> On 21 November 2015 at 21:20, Mirko Friedenhagen <mfriedenha...@gmail.com>
>> wrote:
>> 
>>> Hello,
>>> 
>>> I want to use to run tests on machine, where Maven is not installed
>>> and access to a repository is not allowed.
>>> However I want to (ab-)use the failsafe plugin so I may use the fine
>>> machinery which allows to specify tests and get XML reports.
>>> 
>>> Using maven-embedded I created an App class which just runs
>>> failsafe:integration tests, all dependencies are found in a shaded
>>> jar.
>>> I already used
>>> org.apache.maven.plugins.shade.resource.ComponentsXmlResourceTransformer
>>> so a complete looking META-INF/plexus/components.xml is created.
>>> 
>>> When I start the jar with java -jar MY_SHADED_JAR.jar I always get the
>>> following error:
>>> 
>>> 22:09:57.365 [main] WARN  Sisu - Error injecting:
>>> org.apache.maven.project.DefaultProjectBuildingHelper
>>> 
>>> com.google.inject.ProvisionException: Unable to provision, see the
>>> following errors:
>>> 
>>> 
>>> 1) No implementation for org.apache.maven.classrealm.ClassRealmManager
>>> was bound.
>>> 
>>>  while locating org.apache.maven.project.DefaultProjectBuildingHelper
>>> 
>>> 
>>> Looking into components.xml DefaultClassRealmManager is not there but
>>> is referenced twice.
>>> 
>>> Grepping through the components.xml files in a Maven installation, I
>>> do not see where the DefaultClassRealmManager is instantiated.
>>> 
>>> Regards Mirko
>>> --
>>> http://illegalstateexception.blogspot.com/
>>> https://github.com/mfriedenhagen/ (http://osrc.dfm.io/mfriedenhagen)
>>> https://bitbucket.org/mfriedenhagen/
>>> 
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
>>> For additional commands, e-mail: users-h...@maven.apache.org
>>> 
>>> 
>> 

Thanks,

Jason

----------------------------------------------------------
Jason van Zyl
Founder, Takari and Apache Maven
http://twitter.com/jvanzyl
http://twitter.com/takari_io
---------------------------------------------------------

Simplex sigillum veri. (Simplicity is the seal of truth.)













---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org

Reply via email to