Hi Derek

It's very helpful.
It's the felix cache and the file permission problem. I've fixed it.

Thanks a lot!

Regards
LongkerDandy

On Sat, 2010-06-26 at 11:35 +0100, Derek Baum wrote:
> Hi,
> 
> This should be fixed in the gogo.shell bundle on the trunk.
> 
> The problem is probably due to your framework starting from a previous
> cached state, where bundle 1 is some fragment. gosh_profile used to use
> bundle 1 to load java.lang.System, due to FELIX-2335 (which is now fixed).
> 
> Here are the lines from gosh_profile:
> 
> 14:# FELIX-2335 prevents the use of (bundle 0) loadclass
> 15:addcommand system ((bundle 1) loadclass java.lang.System)
> 
> You can actually fix this yourself, by providing a local gosh_profile:
> 
> $ java -jar bin/felix.jar
> _______________
> Welcome to Apache Felix Gogo
> 
> g! lb
> START LEVEL 1
>    ID|State      |Level|Name
>     0|Active     |    0|System Bundle (3.0.1)
>     1|Active     |    1|Apache Felix Bundle Repository (1.6.2)
>     2|Active     |    1|Apache Felix Gogo Command (0.6.0)
>     3|Active     |    1|Apache Felix Gogo Runtime (0.6.0)
>     4|Active     |    1|Apache Felix Gogo Shell (0.6.0)
> 
> // extract the current gosh_profile from the shell bundle
> g! cat ((bundle 4) getresource /gosh_profile) | tac gosh_profile
> g! exit 0
> 
> $ mkdir etc
> $ mv gosh_profile etc
> 
> // now edit etc/gosh_profile and change line 15 to use bundle 0
> // Note: when you startup now, you won't see the welcome message,
> // as this is produced by:
> 
> 31:# print welcome message
> 32:try {
> 33:  cat ($0 resolve motd)
> 34:}
> 
> Where $0 is the URI to the script. You can put your own motd in the etc
> directory if you want.
> 
> 
> BTW, you don't have to create a Felix project in Eclipse in order to launch
> Felix.
> 
> I just create a Java Application launch configuration and specify:
> 
>    - Main: Main class=org.apache.felix.main.Main
>    - Arguments: Working
>    directory=/Users/derek/Downloads/felix-framework-3.0.1
>    - Classpath: External
>    JAR=/Users/derek/Downloads/felix-framework-3.0.1/bin/felix.jar
> 
> 
> Hope this helps,
> 
> Derek
> 
> 
> 
> 
> 2010/6/26 LongkerDandy <[email protected]>
> 
> > Hi
> >
> > I just upgrade to felix 3.01 from 2.x.
> > With 2.x, I follow this guide to configure felix indise eclipse:
> > http://felix.apache.org/site/integrating-felix-with-eclipse.html
> >
> > Felix 3.01 has use Gogo shell, and the same configuration does not work.
> > Under command line, it seems runs well.
> > Start from Eclipse give me a exception:
> >
> > bundle://8.0:1/gosh_profile:15.20: ClassNotFoundException: Fragments cannot
> > load classes.
> > java.lang.ClassNotFoundException: Fragments cannot load classes.
> >        at org.apache.felix.framework.Felix.loadBundleClass(Felix.java:1623)
> >        at
> > org.apache.felix.framework.BundleImpl.loadClass(BundleImpl.java:887)
> >        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >        at
> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> >        at
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> >        at java.lang.reflect.Method.invoke(Method.java:597)
> >        at
> > org.apache.felix.gogo.runtime.Reflective.method(Reflective.java:136)
> >        at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:465)
> >        at
> > org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:335)
> >        at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)
> >        at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:184)
> >        at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:121)
> >        at org.apache.felix.gogo.runtime.Closure.eval(Closure.java:265)
> >        at
> > org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:307)
> >        at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)
> >        at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:184)
> >        at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:121)
> >        at
> > org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:78)
> >        at org.apache.felix.gogo.shell.Shell.source(Shell.java:186)
> >        at org.apache.felix.gogo.shell.Shell.gosh(Shell.java:106)
> >        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >        at
> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> >        at
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> >        at java.lang.reflect.Method.invoke(Method.java:597)
> >        at
> > org.apache.felix.gogo.runtime.Reflective.method(Reflective.java:136)
> >        at
> > org.apache.felix.gogo.runtime.CommandProxy.execute(CommandProxy.java:82)
> >        at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:421)
> >        at
> > org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:335)
> >        at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)
> >        at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:184)
> >        at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:121)
> >        at
> > org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:78)
> >        at org.apache.felix.gogo.shell.Activator.run(Activator.java:72)
> >        at java.lang.Thread.run(Thread.java:619)
> >
> > And the gogo shell is not usable.
> >
> > Any hint would be thankful.
> >
> > Thanks
> > LongkerDandy
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [email protected]
> > For additional commands, e-mail: [email protected]
> >
> >



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to