https://github.com/pedestal/docs/blob/master/documentation/service-war-deployment.md
The server runs fine but checking the localhost.log I found
May 31, 2016 4:10:49 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Allocate exception for servlet PedestalServlet
java.io.FileNotFoundException: Could not locate myapp/server__init.class or myapp/server.clj on classpath.
at clojure.lang.RT.load(RT.java:449)
at clojure.lang.RT.load(RT.java:412)
at clojure.core$load$fn__5448.invoke(core.clj:5866)
at clojure.core$load.doInvoke(core.clj:5865)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.core$load_one.invoke(core.clj:5671)
at clojure.core$load_lib$fn__5397.invoke(core.clj:5711)
at clojure.core$load_lib.doInvoke(core.clj:5710)
at clojure.lang.RestFn.applyTo(RestFn.java:142)
at clojure.core$apply.invoke(core.clj:632)
at clojure.core$load_libs.doInvoke(core.clj:5749)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.core$apply.invoke(core.clj:632)
at clojure.core$require.doInvoke(core.clj:5832)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.lang.Var.invoke(Var.java:379)
at io.pedestal.servlet.ClojureVarServlet.getVar(ClojureVarServlet.java:109)
at io.pedestal.servlet.ClojureVarServlet.init(ClojureVarServlet.java:67)
at javax.servlet.GenericServlet.init(GenericServlet.java:158)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1282)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1195)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:866)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:134)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
And in my web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0"
metadata-complete="true">
<description>Pedestal HTTP Servlet</description>
<display-name>Pedestal HTTP Servlet</display-name>
<servlet>
<servlet-name>PedestalServlet</servlet-name>
<servlet-class>io.pedestal.servlet.ClojureVarServlet</servlet-class>
<init-param>
<param-name>init</param-name>
<param-value>myapp.server/servlet-init</param-value>
</init-param>
<init-param>
<param-name>service</param-name>
<param-value>myapp.server/servlet-service</param-value>
</init-param>
<init-param>
<param-name>destroy</param-name>
<param-value>myapp.server/servlet-destroy</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>PedestalServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
Is this happening because my url-pattern above is wrong? should I be using ` <url-pattern>/myapp/*</url-pattern>` instead? Because when it's deployed on EC2 the it renames whatever I upload to `ROOT.war`
The server does not return a valid response instead 404s
The pedestal server is in src/myapp/server.clj
Should I use /src/myapp/* instead?
In that case what changes must be made on my code end? It seems like there's a discrepancy between my original source code structure and the war file structure that gets generated.