sisu-maven-plugin helped a lot:
https://github.com/mfriedenhagen/mavenembeddedtest
Regards Mirko
--
http://illegalstateexception.blogspot.com/
https://github.com/mfriedenhagen/ (http://osrc.dfm.io/mfriedenhagen)
https://bitbucket.org/mfriedenhagen/


On Tue, Nov 24, 2015 at 4:53 PM, Mirko Friedenhagen
<mfriedenha...@gmail.com> wrote:
> Hello Tamás, hello Jason,
>
> thanks for your tips, I will try to understand and digest your input :-).
>
> Regards
> Mirko
> Regards Mirko
> --
> http://illegalstateexception.blogspot.com/
> https://github.com/mfriedenhagen/ (http://osrc.dfm.io/mfriedenhagen)
> https://bitbucket.org/mfriedenhagen/
>
>
> On Tue, Nov 24, 2015 at 10:17 AM, Tamás Cservenák <ta...@cservenak.net> wrote:
>> Mirko,
>>
>> or just run the index goal of sisu-maven-plugin in pre-package phase, like
>> it is done here (to create the META-INF/sisu/javax.inject.Named index for
>> WAR that contains many things).
>>
>> https://github.com/sonatype/nexus-oss/blob/nexus-2.11.x/components/nexus-webapp/pom.xml#L336
>>
>> See
>> https://www.eclipse.org/sisu/docs/api/org.eclipse.sisu.mojos/index-mojo.html
>>
>> On Mon, Nov 23, 2015 at 2:23 PM Jason van Zyl <ja...@takari.io> wrote:
>>
>>> 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
>>>
>>>

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

Reply via email to