krishnact / gaevfs

Automatically exported from code.google.com/p/gaevfs
Apache License 2.0
0 stars 1 forks source link

java.lang.NoClassDefFoundError: java.net.URLStreamHandler is a restricted class #15

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. configure app engine application to use h2 1.2.121 and latest gaevfs
from svn
2. start application
3. error stacktrace in log

What version of the product are you using? On what operating system?
svn version 356 of gae-vfs, h2 version 1.2.121

Please provide any additional information below.

Config:
web.xml

    <servlet>
        <servlet-name>gaevfs</servlet-name>

<servlet-class>com.newatlanta.appengine.servlet.GaeVfsServlet</servlet-class>
        <init-param>
            <param-name>dirListingAllowed</param-name>
            <param-value>true</param-value>
        </init-param>
        <init-param>
            <param-name>initDirs</param-name>
            <param-value>/gaevfs/data</param-value>
        </init-param>
        <init-param>
            <param-name>uploadRedirect</param-name>
            <param-value>/gaevfs/</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>gaevfs</servlet-name>
        <url-pattern>/gaevfs/*</url-pattern>
    </servlet-mapping>
    <servlet>
        <servlet-name>CachingDatastoreService</servlet-name>

<servlet-class>com.newatlanta.appengine.datastore.CachingDatastoreService</servl
et-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>CachingDatastoreService</servlet-name>
        <url-pattern>/_ah/queue/write-behind-task</url-pattern>
    </servlet-mapping>

    <listener>

<listener-class>com.newatlanta.appengine.servlet.GaeVfsServletEventListener</lis
tener-class>
    </listener>

    <listener>
        <display-name>h2 starter listener</display-name>
        <listener-class>org.h2.server.web.DbStarter</listener-class>
    </listener>
    <context-param>
        <param-name>db.url</param-name>

<param-value>jdbc:h2:gae://gaevfs/data/sessions;FILE_LOCK=NO;AUTO_SERVER=FALSE;D
B_CLOSE_ON_EXIT=FALSE</param-value>
    </context-param>
    <context-param>
        <param-name>db.user</param-name>
        <param-value>sa</param-value>
    </context-param>
    <context-param>
        <param-name>db.password</param-name>
        <param-value>sa</param-value>
    </context-param>

Stacktrace:

java.lang.NoClassDefFoundError: java.net.URLStreamHandler is a restricted
class. Please see the Google  App Engine developer's guide for more details.
        at
com.google.appengine.tools.development.agent.runtime.Runtime.reject(Runtime.java
:51)
        at
org.apache.commons.vfs.provider.DefaultURLStreamHandler.<init>(DefaultURLStreamH
andler.java:47)
        at
org.apache.commons.vfs.provider.AbstractFileObject$1.run(AbstractFileObject.java
:430)
        at java.security.AccessController.doPrivileged(Native Method)
        at
org.apache.commons.vfs.provider.AbstractFileObject.getURL(AbstractFileObject.jav
a:426)
        at com.newatlanta.appengine.nio.file.GaePath.toUri(GaePath.java:639)
        at
com.newatlanta.h2.store.fs.FileSystemGae.accepts(FileSystemGae.java:61)
        at org.h2.store.fs.FileSystem.getInstance(FileSystem.java:73)
        at org.h2.util.FileUtils.normalize(FileUtils.java:128)
        at org.h2.engine.ConnectionInfo.getName(ConnectionInfo.java:336)
        at org.h2.engine.Engine.openSession(Engine.java:44)
        at org.h2.engine.Engine.openSession(Engine.java:140)
        at org.h2.engine.Engine.getSession(Engine.java:120)
        at
org.h2.engine.SessionFactoryEmbedded.createSession(SessionFactoryEmbedded.java:1
7)
        at
org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:245)
        at org.h2.engine.SessionRemote.createSession(SessionRemote.java:223)
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:110)
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:94)
        at org.h2.Driver.connect(Driver.java:58)
        at java.sql.DriverManager.getConnection(DriverManager.java:582)
        at java.sql.DriverManager.getConnection(DriverManager.java:185)
        at org.h2.server.web.DbStarter.contextInitialized(DbStarter.java:39)
        at
org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:530)
        at org.mortbay.jetty.servlet.Context.startContext(Context.java:135)
        at
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1218)
        at
org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:500)
        at
org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)
        at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
        at
org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117)
        at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
        at
org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117)
        at org.mortbay.jetty.Server.doStart(Server.java:217)
        at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
        at
com.google.appengine.tools.development.JettyContainerService.startContainer(Jett
yContainerService.java:181)
        at
com.google.appengine.tools.development.AbstractContainerService.startup(Abstract
ContainerService.java:116)
        at
com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.j
ava:217)
        at
com.google.appengine.tools.development.DevAppServerMain$StartAction.apply(DevApp
ServerMain.java:162)
        at
com.google.appengine.tools.util.Parser$ParseResult.applyArgs(Parser.java:48)
        at
com.google.appengine.tools.development.DevAppServerMain.<init>(DevAppServerMain.
java:113)
        at
com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMain.ja
va:89)

Original issue reported on code.google.com by n0mer.gt...@gmail.com on 19 Oct 2009 at 12:44

GoogleCodeExporter commented 8 years ago
Class GaePath, line 639 is from method toUri() : 

    @Override
    public URI toUri() {
        try {
            return fileObject.getURL().toURI(); <-- this fails
        } catch ( Exception e ) {
            throw new IOError( e );
        }
    }

Original comment by n0mer.gt...@gmail.com on 19 Oct 2009 at 12:47

GoogleCodeExporter commented 8 years ago

Original comment by vbonfa...@gmail.com on 19 Oct 2009 at 7:20

GoogleCodeExporter commented 8 years ago

Original comment by vbonfa...@gmail.com on 19 Oct 2009 at 8:00