Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [gemini-dev] Gemini Web on Felix

Hi Dave

It's just the one repo. The Gemini Web source code is in an Eclipse git repository which can be cloned using the git clone command:

git clone git://git.eclipse.org/gitroot/gemini.web/org.eclipse.gemini.web.gemini-web-container.git

See [1] for a reference source of this information (since we consider Gemini Web to be a "sister" project of Virgo).

cd into the build-web-container directory and issue "ant clean clean-integration jar package" then look in the target subdirectory of build-web-container. You'll need Apache Ant 1.7.1. or later (and Java 6).

Regards,
Glyn
[1] http://wiki.eclipse.org/Virgo/Source
On 12 Jul 2010, at 12:16, David Savage wrote:

> Hi Glyn,
> 
> Great thanks very much, sure if possible I'd like to checkout and build.
> 
> The build link you provide mentions:
> 
> git clone <repository URL>
> 
> Where there's an example that says for the osgi-test-stubs module do:
> 
> git clone git://git.eclipse.org/gitroot/virgo/org.eclipse.virgo.osgi-test-stubs.git
> 
> Any chance you can point me at the relevant repos I'd need to checkout/build?
> 
> Thanks again,
> 
> Regards,
> 
> Dave
> 
> On Mon, Jul 12, 2010 at 11:24 AM, Glyn Normington
> <gnormington@xxxxxxxxxx> wrote:
>> Hi Dave
>> 
>> That was a bug. We were catching Exception but not NoClassDefFoundError. I raised bug 319519 to cover this and just committed a fix. The fix will appear in the next milestone (not sure when that will happen - we don't have a current driver for it) or you can easily build the code yourself [2] if you want something sooner.
>> 
>> Glyn
>> [1] https://bugs.eclipse.org/bugs/show_bug.cgi?id=319519
>> [2] http://wiki.eclipse.org/Virgo/Build#Building_Individual_Repositories
>> On 10 Jul 2010, at 23:24, David Savage wrote:
>> 
>>> Hi Glyn,
>>> 
>>> After fixing the org.osgi.util.tracker;version=1.4.2 in the
>>> org.eclipse.geminweb.* bundles and the fragment host header in
>>> com.springsource.org.apache.jasper.springsource - here's the stack
>>> trace I get when I launch these bundles in felix:
>>> 
>>> java -jar launcher.jar bundles/RE:
>>> org.apache.felix.framework.resolver.ResolveException: Constraint
>>> violation for package 'javax.xml.namespace' when resolving module 10.0
>>> between existing import 0.javax.xml.namespace BLAMED ON [[10.0]
>>> package; (package=javax.xml.namespace)] and uses constraint
>>> 31.0.javax.xml.namespace BLAMED ON [[10.0] package;
>>> (&(package=javax.xml.stream)(version>=1.0.1)(!(version>=2.0.0)))]
>>> Error starting framework: org.osgi.framework.BundleException:
>>> Activator start error in bundle org.eclipse.gemini.web.tomcat [31].
>>> org.osgi.framework.BundleException: Activator start error in bundle
>>> org.eclipse.gemini.web.tomcat [31].
>>>       at org.apache.felix.framework.Felix.activateBundle(Felix.java:1909)
>>>       at org.apache.felix.framework.Felix.startBundle(Felix.java:1779)
>>>       at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:905)
>>>       at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:892)
>>>       at launcher.Main.main(Main.java:92)
>>> Caused by: java.lang.NoClassDefFoundError:
>>> org/eclipse/osgi/framework/internal/core/BundleHost
>>>       at org.eclipse.gemini.web.tomcat.internal.support.EquinoxBundleFileResolver.canUse(EquinoxBundleFileResolver.java:49)
>>>       at org.eclipse.gemini.web.tomcat.internal.support.BundleFileResolverFactory.createBundleFileResolver(BundleFileResolverFactory.java:30)
>>>       at org.eclipse.gemini.web.tomcat.internal.Tomcat.<init>(Tomcat.java:64)
>>>       at org.eclipse.gemini.web.tomcat.internal.TomcatServletContainerFactory.createContainer(TomcatServletContainerFactory.java:27)
>>>       at org.eclipse.gemini.web.tomcat.internal.Activator.createContainer(Activator.java:92)
>>>       at org.eclipse.gemini.web.tomcat.internal.Activator.start(Activator.java:50)
>>>       at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:633)
>>>       at org.apache.felix.framework.Felix.activateBundle(Felix.java:1862)
>>>       ... 4 more
>>> Caused by: java.lang.ClassNotFoundException:
>>> org.eclipse.osgi.framework.internal.core.BundleHost
>>>       at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:772)
>>>       at org.apache.felix.framework.ModuleImpl.access$200(ModuleImpl.java:73)
>>>       at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1685)
>>>       at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
>>> 
>>> The fact that the exception is leaking out of the
>>> org.eclipse.gemini.web.tomcat.internal.Activator.start method seems to
>>> suggest the ClassNotFoundException is pretty terminal?
>>> 
>>> Hope that's of some help in any case.
>>> 
>>> Regards,
>>> 
>>> Dave
>>> 
>>> On Fri, Jul 9, 2010 at 4:48 PM, Glyn Normington <gnormington@xxxxxxxxxx> wrote:
>>>> The Gemini Web code has a BundleFileResolver interface and two implementations. There is an Equinox specific EquinoxBundleFileResolver which refers to BundleHost and other Equinox internals. Then there is the NoOpBundleFileResolver, nested in BundleFileResolverFactory, which is framework neutral. There may be some degradation of function with the noop version, but it should protect against requiring Equinox specifics on Felix. So the big question is what's the stack trace of the ClassNotFoundException for BundleHost? You see we attempt to load it to determine which of the above implementations to use, so the failed class load could be totally benign.
>>>> 
>>>> Glyn
>>>> On 9 Jul 2010, at 15:20, David Savage wrote:
>>>> 
>>>>> On Fri, Jul 9, 2010 at 3:18 PM, David Savage <david.savage@xxxxxxxxxxx> wrote:
>>>>>> I get a sinking feeling :)
>>>>>> 
>>>>>> java.lang.ClassNotFoundException:
>>>>>> org.eclipse.osgi.framework.internal.core.BundleHost
>>>>>> 
>>>>>> I'm guessing there's on simple workaround to that?
>>>>> 
>>>>> on -> no
>>>>> 
>>>>>> 
>>>>>> Regards,
>>>>>> 
>>>>>> Dave
>>>>>> 
>>>>>> On Fri, Jul 9, 2010 at 2:55 PM, David Savage <david.savage@xxxxxxxxxxx> wrote:
>>>>>>> Hi there,
>>>>>>> 
>>>>>>> Ok so we've got a work around for the fragment version issue but then
>>>>>>> ran into the next problem :(
>>>>>>> 
>>>>>>> java -Xdebug -Xrunjdwp:transport=dt_socket,address=8001,server=y,suspend=n
>>>>>>> -jar launcher.jar bundles/Listening for transport dt_socket at
>>>>>>> address: 8001
>>>>>>> Error starting framework: org.osgi.framework.BundleException:
>>>>>>> Unresolved constraint in bundle org.eclipse.gemini.web.core [29]:
>>>>>>> Unable to resolve 29.0: missing requirement [29.0] package;
>>>>>>> (&(package=org.osgi.util.tracker)(version>=1.4.2)) - [29.0] package;
>>>>>>> (&(package=org.osgi.util.tracker)(version>=1.4.2))
>>>>>>> org.osgi.framework.BundleException: Unresolved constraint in bundle
>>>>>>> org.eclipse.gemini.web.core [29]: Unable to resolve 29.0: missing
>>>>>>> requirement [29.0] package;
>>>>>>> (&(package=org.osgi.util.tracker)(version>=1.4.2)) - [29.0] package;
>>>>>>> (&(package=org.osgi.util.tracker)(version>=1.4.2))
>>>>>>>       at org.apache.felix.framework.Felix.resolveBundle(Felix.java:3421)
>>>>>>>       at org.apache.felix.framework.Felix.startBundle(Felix.java:1754)
>>>>>>>       at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:905)
>>>>>>>       at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:892)
>>>>>>>       at launcher.Main.main(Main.java:92)
>>>>>>> 
>>>>>>> The trouble is the 1.4.2 version looks to be a mistake in equinox [1]
>>>>>>> I don't think this API actually exists?
>>>>>>> 
>>>>>>> This import seems to be found in the following two bundles at least
>>>>>>> (haven't checked further)
>>>>>>> 
>>>>>>> org.eclipse.gemini.web.core-1.1.0.M01.jar
>>>>>>> org.eclipse.gemini.web.extender-1.1.0.M01.jar
>>>>>>> 
>>>>>>> Again I'll try rebuilding with the correct versions and let you know
>>>>>>> how I get on...
>>>>>>> 
>>>>>>> Regards,
>>>>>>> 
>>>>>>> Dave
>>>>>>> 
>>>>>>> [1] https://bugs.eclipse.org/bugs/show_bug.cgi?id=279622
>>>>>>> 
>>>>>>> On Fri, Jul 9, 2010 at 10:35 AM, Glyn Normington <gnormington@xxxxxxxxxx> wrote:
>>>>>>>> Thanks Dave.
>>>>>>>> 
>>>>>>>> Glyn
>>>>>>>> On 9 Jul 2010, at 09:59, David Savage wrote:
>>>>>>>> 
>>>>>>>>> Hi Glyn,
>>>>>>>>> 
>>>>>>>>> Great, thx very much. Will try the hack as you suggest and see how I
>>>>>>>>> get on, guess there's always the possibility I just hit the next
>>>>>>>>> problem but fingers crossed...
>>>>>>>>> 
>>>>>>>>> Have filed a bug here:
>>>>>>>>> 
>>>>>>>>> https://issuetracker.springsource.com/browse/EBR-662
>>>>>>>>> 
>>>>>>>>> Regards,
>>>>>>>>> 
>>>>>>>>> Dave
>>>>>>>>> 
>>>>>>>>> On Fri, Jul 9, 2010 at 9:48 AM, Glyn Normington <gnormington@xxxxxxxxxx> wrote:
>>>>>>>>>> Hi Dave
>>>>>>>>>> 
>>>>>>>>>> I responded to FELIX-2466 suggesting you raise a bug against the EBR to get this fixed. If you do raise a bug, please let me know the number.
>>>>>>>>>> 
>>>>>>>>>> Meanwhile by far the easiest way for you to make progress is to unjar, hack the manifest, and rejar.
>>>>>>>>>> 
>>>>>>>>>> I've raised a bug against Equinox as its behaviour got us into this situation in the first place and we don't want other users to run into this:
>>>>>>>>>> 
>>>>>>>>>> https://bugs.eclipse.org/bugs/show_bug.cgi?id=319349
>>>>>>>>>> 
>>>>>>>>>> Glyn
>>>>>>>>>> On 8 Jul 2010, at 23:26, David Savage wrote:
>>>>>>>>>> 
>>>>>>>>>>> Hi there,
>>>>>>>>>>> 
>>>>>>>>>>> I have an update to the issue of trying to get gemini running on
>>>>>>>>>>> Felix. Richard's taken a look at the issue with regard to the resolver
>>>>>>>>>>> and the problem seems to be due to using non standard headers in
>>>>>>>>>>> Gemini, namely Fragment-Host "version" attribute which should actually
>>>>>>>>>>> be "bundle-version" as per the spec.
>>>>>>>>>>> 
>>>>>>>>>>> There's discussion of the issue here:
>>>>>>>>>>> 
>>>>>>>>>>> https://issues.apache.org/jira/browse/FELIX-2466
>>>>>>>>>>> 
>>>>>>>>>>> I'd be happy to test out a fix if someone can point me in the right
>>>>>>>>>>> direction for downloading the source from (svn?).
>>>>>>>>>>> 
>>>>>>>>>>> Regards,
>>>>>>>>>>> 
>>>>>>>>>>> Dave
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> gemini-dev mailing list
>>>>>>>>>>> gemini-dev@xxxxxxxxxxx
>>>>>>>>>>> https://dev.eclipse.org/mailman/listinfo/gemini-dev
>>>>>>>>>> 
>>>>>>>>>> _______________________________________________
>>>>>>>>>> gemini-dev mailing list
>>>>>>>>>> gemini-dev@xxxxxxxxxxx
>>>>>>>>>> https://dev.eclipse.org/mailman/listinfo/gemini-dev
>>>>>>>>>> 
>>>>>>>>> _______________________________________________
>>>>>>>>> gemini-dev mailing list
>>>>>>>>> gemini-dev@xxxxxxxxxxx
>>>>>>>>> https://dev.eclipse.org/mailman/listinfo/gemini-dev
>>>>>>>> 
>>>>>>>> _______________________________________________
>>>>>>>> gemini-dev mailing list
>>>>>>>> gemini-dev@xxxxxxxxxxx
>>>>>>>> https://dev.eclipse.org/mailman/listinfo/gemini-dev
>>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>> _______________________________________________
>>>>> gemini-dev mailing list
>>>>> gemini-dev@xxxxxxxxxxx
>>>>> https://dev.eclipse.org/mailman/listinfo/gemini-dev
>>>> 
>>>> _______________________________________________
>>>> gemini-dev mailing list
>>>> gemini-dev@xxxxxxxxxxx
>>>> https://dev.eclipse.org/mailman/listinfo/gemini-dev
>>>> 
>>> _______________________________________________
>>> gemini-dev mailing list
>>> gemini-dev@xxxxxxxxxxx
>>> https://dev.eclipse.org/mailman/listinfo/gemini-dev
>> 
>> _______________________________________________
>> gemini-dev mailing list
>> gemini-dev@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/gemini-dev
>> 
> _______________________________________________
> gemini-dev mailing list
> gemini-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/gemini-dev



Back to the top