Thank you so much for putting this together! I hope that you'll forgive an extremely naive question, but as this is my first time, I'm having a bit of trouble getting the web server running. When I follow your instructions and execute the commands:
java -Xmx2G -jar otp.jar --router current --graphs graphs --server --port 8801
--securePort 8802
the server fails to start, generating the output below. Do you have any suggestions on how to address this?
C:\Users\SBudick\Desktop\otp_exercise\otp>java -Xmx2G -jar otp.jar --router curr
ent --graphs graphs --server
14:50:44.827 INFO (OTPServer.java:38) Wiring up and configuring server.
14:50:44.827 INFO (GraphScanner.java:81) Attempting to automatically register ro
uterIds [current]
14:50:44.827 INFO (GraphScanner.java:82) Graph files will be sought in paths rel
ative to graphs
14:50:44.827 INFO (GraphService.java:189) Registering new router 'current'
14:50:44.827 INFO (InputStreamGraphSource.java:207) Loading graph...
14:50:44.843 ERROR (InputStreamGraphSource.java:212) Exception while loading gra
ph 'current'.
java.io.EOFException: null
at java.base/java.io.ObjectInputStream$PeekInputStream.readFully(Unknown
Source) ~[na:na]
at java.base/java.io.ObjectInputStream$BlockDataInputStream.readShort(Un
known Source) ~[na:na]
at java.base/java.io.ObjectInputStream.readStreamHeader(Unknown Source)
~[na:na]
at java.base/java.io.ObjectInputStream.<init>(Unknown Source) ~[na:na]
at org.opentripplanner.routing.impl.InputStreamGraphSource.loadGraph(Inp
utStreamGraphSource.java:209) [otp.jar:1.1]
at org.opentripplanner.routing.impl.InputStreamGraphSource.reload(InputS
treamGraphSource.java:133) [otp.jar:1.1]
at org.opentripplanner.routing.services.GraphService.registerGraph(Graph
Service.java:196) [otp.jar:1.1]
at org.opentripplanner.routing.impl.GraphScanner.startup(GraphScanner.ja
va:86) [otp.jar:1.1]
at org.opentripplanner.standalone.OTPMain.run(OTPMain.java:135) [otp.jar
:1.1]
at org.opentripplanner.standalone.OTPMain.main(OTPMain.java:86) [otp.jar
:1.1]
14:50:44.843 WARN (InputStreamGraphSource.java:144) Unable to load data for rout
er 'current'.
14:50:44.843 WARN (GraphService.java:198) Can't register router ID 'current', no
graph.
14:50:44.843 INFO (GrizzlyServer.java:50) Starting OTP Grizzly server on ports 8
080 (HTTP) and 8081 (HTTPS) of interface 0.0.0.0
14:50:44.843 INFO (GrizzlyServer.java:52) OTP server base path is /var/otp
14:50:45.968 ERROR (OTPMain.java:169) An uncaught ProcessingException occurred i
nside OTP. Restarting server.
javax.ws.rs.ProcessingException: Could not process parameter type class org.open
tripplanner.api.parameter.CRSParameter.
at org.glassfish.jersey.server.internal.inject.MultivaluedParameterExtra
ctorFactory.process(MultivaluedParameterExtractorFactory.java:127) ~[otp.jar:1.1
]
at org.glassfish.jersey.server.internal.inject.MultivaluedParameterExtra
ctorFactory.get(MultivaluedParameterExtractorFactory.java:100) ~[otp.jar:1.1]
at org.glassfish.jersey.server.internal.inject.AbstractValueFactoryProvi
der.get(AbstractValueFactoryProvider.java:106) ~[otp.jar:1.1]
at org.glassfish.jersey.server.internal.inject.QueryParamValueFactoryPro
vider.createValueFactory(QueryParamValueFactoryProvider.java:116) ~[otp.jar:1.1]
at org.glassfish.jersey.server.internal.inject.QueryParamValueFactoryPro
vider.createValueFactory(QueryParamValueFactoryProvider.java:59) ~[otp.jar:1.1]
at org.glassfish.jersey.server.internal.inject.AbstractValueFactoryProvi
der.getValueFactory(AbstractValueFactoryProvider.java:134) ~[otp.jar:1.1]
at org.glassfish.jersey.server.spi.internal.ParameterValueHelper.getValu
eFactory(ParameterValueHelper.java:145) ~[otp.jar:1.1]
at org.glassfish.jersey.server.spi.internal.ParameterValueHelper.createV
alueProviders(ParameterValueHelper.java:124) ~[otp.jar:1.1]
at org.glassfish.jersey.server.model.Invocable.getValueProviders(Invocab
le.java:321) ~[otp.jar:1.1]
at org.glassfish.jersey.server.model.ResourceMethodValidator.checkValueP
roviders(ResourceMethodValidator.java:165) ~[otp.jar:1.1]
at org.glassfish.jersey.server.model.ResourceMethodValidator.checkMethod
(ResourceMethodValidator.java:106) ~[otp.jar:1.1]
at org.glassfish.jersey.server.model.ResourceMethodValidator.visitJaxrsR
esourceMethod(ResourceMethodValidator.java:102) ~[otp.jar:1.1]
at org.glassfish.jersey.server.model.ResourceMethodValidator.visitResour
ceMethod(ResourceMethodValidator.java:92) ~[otp.jar:1.1]
at org.glassfish.jersey.server.model.ResourceMethod.accept(ResourceMetho
d.java:854) ~[otp.jar:1.1]
at org.glassfish.jersey.server.model.ComponentModelValidator.validateWit
hErrors(ComponentModelValidator.java:161) ~[otp.jar:1.1]
at org.glassfish.jersey.server.model.ComponentModelValidator.validateWit
hErrors(ComponentModelValidator.java:167) ~[otp.jar:1.1]
at org.glassfish.jersey.server.model.ComponentModelValidator.validateWit
hErrors(ComponentModelValidator.java:167) ~[otp.jar:1.1]
at org.glassfish.jersey.server.model.ComponentModelValidator.validateWit
hErrors(ComponentModelValidator.java:167) ~[otp.jar:1.1]
at org.glassfish.jersey.server.model.ComponentModelValidator.access$000(
ComponentModelValidator.java:90) ~[otp.jar:1.1]
at org.glassfish.jersey.server.model.ComponentModelValidator$1.run(Compo
nentModelValidator.java:151) ~[otp.jar:1.1]
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271) ~[otp.ja
r:1.1]
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267) ~[otp.ja
r:1.1]
at org.glassfish.jersey.internal.Errors.process(Errors.java:315) ~[otp.j
ar:1.1]
at org.glassfish.jersey.internal.Errors.process(Errors.java:297) ~[otp.j
ar:1.1]
at org.glassfish.jersey.internal.Errors.process(Errors.java:267) ~[otp.j
ar:1.1]
at org.glassfish.jersey.server.model.ComponentModelValidator.validate(Co
mponentModelValidator.java:146) ~[otp.jar:1.1]
at org.glassfish.jersey.server.ApplicationHandler.initialize(Application
Handler.java:549) ~[otp.jar:1.1]
at org.glassfish.jersey.server.ApplicationHandler.access$500(Application
Handler.java:183) ~[otp.jar:1.1]
at org.glassfish.jersey.server.ApplicationHandler$3.call(ApplicationHand
ler.java:349) ~[otp.jar:1.1]
at org.glassfish.jersey.server.ApplicationHandler$3.call(ApplicationHand
ler.java:346) ~[otp.jar:1.1]
at org.glassfish.jersey.internal.Errors.process(Errors.java:315) ~[otp.j
ar:1.1]
at org.glassfish.jersey.internal.Errors.process(Errors.java:297) ~[otp.j
ar:1.1]
at org.glassfish.jersey.internal.Errors.processWithException(Errors.java
:255) ~[otp.jar:1.1]
at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHand
ler.java:346) ~[otp.jar:1.1]
at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHand
ler.java:310) ~[otp.jar:1.1]
at org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpContainer.<init>(
GrizzlyHttpContainer.java:331) ~[otp.jar:1.1]
at org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpContainerProvider
.createContainer(GrizzlyHttpContainerProvider.java:60) ~[otp.jar:1.1]
at org.glassfish.jersey.server.ContainerFactory.createContainer(Containe
rFactory.java:81) ~[otp.jar:1.1]
at org.opentripplanner.standalone.GrizzlyServer.run(GrizzlyServer.java:9
4) ~[otp.jar:1.1]
at org.opentripplanner.standalone.OTPMain.run(OTPMain.java:166) [otp.jar
:1.1]
at org.opentripplanner.standalone.OTPMain.main(OTPMain.java:86) [otp.jar
:1.1]
Caused by: javax.ws.rs.WebApplicationException: HTTP 400 Bad Request
at org.opentripplanner.api.parameter.CRSParameter.<init>(CRSParameter.ja
va:36) ~[otp.jar:1.1]
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInsta
nce0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInsta
nce(Unknown Source) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newI
nstance(Unknown Source) ~[na:na]
at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source) ~
[na:na]
at org.glassfish.jersey.server.internal.inject.ParamConverters$StringCon
structor$1._fromString(ParamConverters.java:132) ~[otp.jar:1.1]
at org.glassfish.jersey.server.internal.inject.ParamConverters$AbstractS
tringReader.fromString(ParamConverters.java:85) ~[otp.jar:1.1]
at org.glassfish.jersey.server.internal.inject.AbstractParamValueExtract
or.convert(AbstractParamValueExtractor.java:139) ~[otp.jar:1.1]
at org.glassfish.jersey.server.internal.inject.AbstractParamValueExtract
or.access$000(AbstractParamValueExtractor.java:56) ~[otp.jar:1.1]
at org.glassfish.jersey.server.internal.inject.AbstractParamValueExtract
or$1.get(AbstractParamValueExtractor.java:85) ~[otp.jar:1.1]
at org.glassfish.jersey.internal.util.collection.Values$LazyUnsafeValueI
mpl.get(Values.java:425) ~[otp.jar:1.1]
at org.glassfish.jersey.server.internal.inject.AbstractParamValueExtract
or.<init>(AbstractParamValueExtractor.java:91) ~[otp.jar:1.1]
at org.glassfish.jersey.server.internal.inject.SingleValueExtractor.<ini
t>(SingleValueExtractor.java:67) ~[otp.jar:1.1]
at org.glassfish.jersey.server.internal.inject.MultivaluedParameterExtra
ctorFactory.process(MultivaluedParameterExtractorFactory.java:123) ~[otp.jar:1.1
]
... 40 common frames omitted
14:50:45.984 INFO (GrizzlyServer.java:50) Starting OTP Grizzly server on ports 8
080 (HTTP) and 8081 (HTTPS) of interface 0.0.0.0
14:50:45.984 INFO (GrizzlyServer.java:52) OTP server base path is /var/otp
14:50:46.165 ERROR (OTPMain.java:169) An uncaught ProcessingException occurred i
nside OTP. Restarting server.
javax.ws.rs.ProcessingException: Could not process parameter type class org.open
tripplanner.api.parameter.CRSParameter.
at org.glassfish.jersey.server.internal.inject.MultivaluedParameterExtra
ctorFactory.process(MultivaluedParameterExtractorFactory.java:127) ~[otp.jar:1.1
]
at org.glassfish.jersey.server.internal.inject.MultivaluedParameterExtra
ctorFactory.get(MultivaluedParameterExtractorFactory.java:100) ~[otp.jar:1.1]
at org.glassfish.jersey.server.internal.inject.AbstractValueFactoryProvi
der.get(AbstractValueFactoryProvider.java:106) ~[otp.jar:1.1]
at org.glassfish.jersey.server.internal.inject.QueryParamValueFactoryPro
vider.createValueFactory(QueryParamValueFactoryProvider.java:116) ~[otp.jar:1.1]
at org.glassfish.jersey.server.internal.inject.QueryParamValueFactoryPro
vider.createValueFactory(QueryParamValueFactoryProvider.java:59) ~[otp.jar:1.1]
at org.glassfish.jersey.server.internal.inject.AbstractValueFactoryProvi
der.getValueFactory(AbstractValueFactoryProvider.java:134) ~[otp.jar:1.1]
at org.glassfish.jersey.server.spi.internal.ParameterValueHelper.getValu
eFactory(ParameterValueHelper.java:145) ~[otp.jar:1.1]
at org.glassfish.jersey.server.spi.internal.ParameterValueHelper.createV
alueProviders(ParameterValueHelper.java:124) ~[otp.jar:1.1]
at org.glassfish.jersey.server.model.Invocable.getValueProviders(Invocab
le.java:321) ~[otp.jar:1.1]
at org.glassfish.jersey.server.model.ResourceMethodValidator.checkValueP
roviders(ResourceMethodValidator.java:165) ~[otp.jar:1.1]
at org.glassfish.jersey.server.model.ResourceMethodValidator.checkMethod
(ResourceMethodValidator.java:106) ~[otp.jar:1.1]
at org.glassfish.jersey.server.model.ResourceMethodValidator.visitJaxrsR
esourceMethod(ResourceMethodValidator.java:102) ~[otp.jar:1.1]
at org.glassfish.jersey.server.model.ResourceMethodValidator.visitResour
ceMethod(ResourceMethodValidator.java:92) ~[otp.jar:1.1]
at org.glassfish.jersey.server.model.ResourceMethod.accept(ResourceMetho
d.java:854) ~[otp.jar:1.1]
at org.glassfish.jersey.server.model.ComponentModelValidator.validateWit
hErrors(ComponentModelValidator.java:161) ~[otp.jar:1.1]
at org.glassfish.jersey.server.model.ComponentModelValidator.validateWit
hErrors(ComponentModelValidator.java:167) ~[otp.jar:1.1]
at org.glassfish.jersey.server.model.ComponentModelValidator.validateWit
hErrors(ComponentModelValidator.java:167) ~[otp.jar:1.1]
at org.glassfish.jersey.server.model.ComponentModelValidator.validateWit
hErrors(ComponentModelValidator.java:167) ~[otp.jar:1.1]
at org.glassfish.jersey.server.model.ComponentModelValidator.access$000(
ComponentModelValidator.java:90) ~[otp.jar:1.1]
at org.glassfish.jersey.server.model.ComponentModelValidator$1.run(Compo
nentModelValidator.java:151) ~[otp.jar:1.1]
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271) ~[otp.ja
r:1.1]
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267) ~[otp.ja
r:1.1]
at org.glassfish.jersey.internal.Errors.process(Errors.java:315) ~[otp.j
ar:1.1]
at org.glassfish.jersey.internal.Errors.process(Errors.java:297) ~[otp.j
ar:1.1]
at org.glassfish.jersey.internal.Errors.process(Errors.java:267) ~[otp.j
ar:1.1]
at org.glassfish.jersey.server.model.ComponentModelValidator.validate(Co
mponentModelValidator.java:146) ~[otp.jar:1.1]
at org.glassfish.jersey.server.ApplicationHandler.initialize(Application
Handler.java:549) ~[otp.jar:1.1]
at org.glassfish.jersey.server.ApplicationHandler.access$500(Application
Handler.java:183) ~[otp.jar:1.1]
at org.glassfish.jersey.server.ApplicationHandler$3.call(ApplicationHand
ler.java:349) ~[otp.jar:1.1]
at org.glassfish.jersey.server.ApplicationHandler$3.call(ApplicationHand
ler.java:346) ~[otp.jar:1.1]
at org.glassfish.jersey.internal.Errors.process(Errors.java:315) ~[otp.j
ar:1.1]
at org.glassfish.jersey.internal.Errors.process(Errors.java:297) ~[otp.j
ar:1.1]
at org.glassfish.jersey.internal.Errors.processWithException(Errors.java
:255) ~[otp.jar:1.1]
at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHand
ler.java:346) ~[otp.jar:1.1]
at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHand
ler.java:310) ~[otp.jar:1.1]
at org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpContainer.<init>(
GrizzlyHttpContainer.java:331) ~[otp.jar:1.1]
at org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpContainerProvider
.createContainer(GrizzlyHttpContainerProvider.java:60) ~[otp.jar:1.1]
at org.glassfish.jersey.server.ContainerFactory.createContainer(Containe
rFactory.java:81) ~[otp.jar:1.1]
at org.opentripplanner.standalone.GrizzlyServer.run(GrizzlyServer.java:9
4) ~[otp.jar:1.1]
at org.opentripplanner.standalone.OTPMain.run(OTPMain.java:166) [otp.jar
:1.1]
at org.opentripplanner.standalone.OTPMain.main(OTPMain.java:86) [otp.jar
:1.1]
Caused by: javax.ws.rs.WebApplicationException: HTTP 400 Bad Request
at org.opentripplanner.api.parameter.CRSParameter.<init>(CRSParameter.ja
va:36) ~[otp.jar:1.1]
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInsta
nce0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInsta
nce(Unknown Source) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newI
nstance(Unknown Source) ~[na:na]
at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source) ~
[na:na]
at org.glassfish.jersey.server.internal.inject.ParamConverters$StringCon
structor$1._fromString(ParamConverters.java:132) ~[otp.jar:1.1]
at org.glassfish.jersey.server.internal.inject.ParamConverters$AbstractS
tringReader.fromString(ParamConverters.java:85) ~[otp.jar:1.1]
at org.glassfish.jersey.server.internal.inject.AbstractParamValueExtract
or.convert(AbstractParamValueExtractor.java:139) ~[otp.jar:1.1]
at org.glassfish.jersey.server.internal.inject.AbstractParamValueExtract
or.access$000(AbstractParamValueExtractor.java:56) ~[otp.jar:1.1]
at org.glassfish.jersey.server.internal.inject.AbstractParamValueExtract
or$1.get(AbstractParamValueExtractor.java:85) ~[otp.jar:1.1]
at org.glassfish.jersey.internal.util.collection.Values$LazyUnsafeValueI
mpl.get(Values.java:425) ~[otp.jar:1.1]
at org.glassfish.jersey.server.internal.inject.AbstractParamValueExtract
or.<init>(AbstractParamValueExtractor.java:91) ~[otp.jar:1.1]
at org.glassfish.jersey.server.internal.inject.SingleValueExtractor.<ini
t>(SingleValueExtractor.java:67) ~[otp.jar:1.1]
at org.glassfish.jersey.server.internal.inject.MultivaluedParameterExtra
ctorFactory.process(MultivaluedParameterExtractorFactory.java:123) ~[otp.jar:1.1
]
... 40 common frames omitted
14:50:46.209 INFO (GrizzlyServer.java:50) Starting OTP Grizzly server on ports 8
080 (HTTP) and 8081 (HTTPS) of interface 0.0.0.0
14:50:46.209 INFO (GrizzlyServer.java:52) OTP server base path is /var/otp