Question

Je suis nouveau à persévérer, je l'ai fait le tutoriel helloWorld, très impressionnant BTW mais j'essaie maintenant de se connecter à une véritable base de données Postgres et me retrouver en difficulté ayant le conducteur reconnu quand j'ai le sentiment qu'il devrait être mort simple .

Je lâchai tout le pilote JDBC pour postgres que je devais le dossier persévèrent / lib:

  • postgresql-8.3-603.jdbc2ee.jar
  • postgresql-8.3-603.jdbc2.jar
  • postgresql-8.3-603.jdbc3.jar
  • postgresql-8.3-603.jdbc4.jar

Et pourtant, quand je commence à persévérer avec la commande « persvr » sans argument de mon dossier de projet, je reçois le message d'erreur suivant:

java.lang.ClassNotFoundException: org.postgresql.Driver
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:379)
    at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:341)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:169)
    at org.persvr.datasource.DatabaseDataSource.initParameters(Unknown Source)
    at org.persvr.datasource.DatabaseTableDataSource.initParameters(Unknown Source)
    at org.persvr.data.DataSourceManager.initSource(Unknown Source)
    at org.persvr.data.DataSourceManager.<clinit>(Unknown Source)
    at org.persvr.data.Identification.idForString(Unknown Source)
    at org.persvr.Persevere.load(Unknown Source)
    at org.persvr.job.SampleData.execute(Unknown Source)
    at org.persvr.job.Upgrade.execute(Unknown Source)
    at org.persvr.remote.PersevereFilter.init(Unknown Source)
    at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:620)
    at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
    at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1234)
    at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
    at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:460)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
    at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
    at org.mortbay.jetty.Server.doStart(Server.java:222)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at org.persvr.util.JettyStart.main(Unknown Source)

Je suis en train d'essayer d'étendre le projet helloWorld comme usent de, donc je l'ai ajouté un fichier postgres.json dans mon helloWorld / WEB-INF / dossier config. Voici le contenu de ce fichier:

    {"id":"postgres.json",
"sources":[
        {"name":"addressTable",
                "sourceClass":"org.persvr.datasource.DatabaseTableDataSource",
                "connection":"jdbc:postgresql://hostname:5432/pnp?user=user1&pass=mypassword",
                "driver":"org.postgresql.Driver",
                "camelCaseColumnNames": false,
                "table":"addr",
                "idColumn":"addr_id",
                "dataColumns":["addr_stat_cd","addr1","addr2","city","state","zip","zip_ext","cntry_cd","last_upd_uid","last_upd_dttm","create_uid","create_dt
tm"],
        "schema":{
                "data":{"$ref":"../addressTable/"}
        }
}]
}

Quelqu'un pourrait-il me dire pourquoi persévèrent ne peut pas trouver ce pilote postgres s'il vous plaît?

Merci, Lancelot.

Était-ce utile?

La solution

figured it out. Le pot de pilote postgres devrait effectivement aller dans le dossier. Persévèrent / WEB-INF / lib au lieu du persévèrent / lib

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top