Sorry you are right. I got confused. There is a main class which came with the archetype. That works when I ran as java application in eclipse IDE with my hack. I think the main class is invoked for unit tests.
So I just ran mvn exec:java I got an error because I don't have a main class declared in the pom.xml. I have no issue with the error. I am running the archetype as mvn jetty:run I tried adding welcome-file tags ( see below) in the existing archetype 's web.xml for index.html to be picked up but I am getting a 404. <?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" 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"> <servlet> <servlet-name>Jersey Web Application</servlet-name> <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class> <init-param> <param-name>jersey.config.server.provider.packages</param-name> <param-value>com.example</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Jersey Web Application</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list> </web-app> On Thu, 25 Mar 2021, 00:15 Jan Bartel, <[email protected]> wrote: > Now I'm confused. You say you're using mvn jetty:run BUT you have posted a > java main class where you are configuring and running jetty in embedded > mode. Which is it? > > Using mvn jetty:run will run jetty inside maven, and deploy the webapp > that is your maven project. It does not run your main class. > > Alternatively, you can write a main class to startup up jetty and deploy > your webapp. You then need to ensure that all of the required jetty jars > and other dependencies are on the execution classpath. You'd need to use > something like the maven exec plugin to run it, or run it manually at the > command line in the usual java fashion. > > On Thu, 25 Mar 2021 at 10:46, Som Lima <[email protected]> wrote: > >> I used this archetype. >> >> mvn archetype:generate -DarchetypeArtifactId=jersey-heroku-webapp \ >> -DarchetypeGroupId=org.glassfish.jersey.archetypes >> -DinteractiveMode=false \ >> -DgroupId=com.example -DartifactId=simple-heroku-webapp >> -Dpackage=com.example \ >> -DarchetypeVersion=3.0.1 >> >> >> >> running as mvn jetty:run >> >> >> I made this hack by adding a new class >> HelloHandler and commenting out the line server.setHandler(root) >> , which has worked so far but it is just a hack in the existing Main >> class. I was hoping I can just an index.html but seems to be too good to be >> true. I guess I will have to rework the existing Main class. >> >> // server.setHandler(root); >> server.setHandler(new HelloHandler()); >> >> public class HelloHandler extends AbstractHandler >> { >> public void handle(String target,Request >> baseRequest,HttpServletRequest request,HttpServletResponse response) >> throws IOException, ServletException >> { >> response.setContentType("text/html;charset=utf-8"); >> response.setStatus(HttpServletResponse.SC_OK); >> baseRequest.setHandled(true); >> response.getWriter().println("<h1>Hello World</h1>"); >> } >> } >> >> >> public class Main { >> >> public static void main(String[] args) throws Exception{ >> // The port that we should run on can be set into an environment >> variable >> // Look for that variable and default to 8080 if it isn't there. >> String webPort = System.getenv("PORT"); >> if (webPort == null || webPort.isEmpty()) { >> webPort = "8080"; >> } >> >> final Server server = new Server(Integer.valueOf(webPort)); >> >> final WebAppContext root = new WebAppContext(); >> >> root.setContextPath("/"); >> // Parent loader priority is a class loader setting that Jetty >> accepts. >> // By default Jetty will behave like most web containers in that >> it will >> // allow your application to replace non-server libraries that >> are part of the >> // container. Setting parent loader priority to true changes this >> behaviour. >> // Read more here: >> http://wiki.eclipse.org/Jetty/Reference/Jetty_Classloading >> root.setParentLoaderPriority(true); >> >> final String webappDirLocation = "src/main/webapp/"; >> root.setDescriptor(webappDirLocation + "/WEB-INF/web.xml"); >> root.setResourceBase(webappDirLocation); >> >> // server.setHandler(root); >> server.setHandler(new HelloHandler()); >> server.start(); >> server.join(); >> } >> } >> >> >> >> >> >> >> >> On Wed, 24 Mar 2021, 23:13 Jan Bartel, <[email protected]> wrote: >> >>> Hi, >>> >>> How are you running jetty? Are you running in the >>> distribution/embedded/maven plugin? Do you have jsp and it's dependencies >>> enabled? >>> >>> Making a very simple webapp that is a directory that looks like: >>> >>> /test >>> index.jsp >>> >>> deploys and runs just fine on the jetty-11 distro, so there must be >>> something else going on with your setup. >>> >>> Firstly, I would make sure you're using the latest full release version >>> of jetty-11, which is 11.0.1. Then build up from a simple webapp like the >>> one above gradually adding more of your app in until you can see where the >>> problem lies. >>> >>> regards >>> Jan >>> >>> On Thu, 25 Mar 2021 at 09:19, Som Lima <[email protected]> wrote: >>> >>>> Hi, >>>> >>>> I am using working on the heroku archetype webapp for jersey >>>> jax-rs >>>> section 5.1 >>>> >>>> >>>> https://eclipse-ee4j.github.io/jersey.github.io/documentation/latest3x/getting-started.html#deploy-it-on-heroku >>>> >>>> It is publishing jax-rs resources. >>>> >>>> https://lit-savannah-55019.herokuapp.com/myresource >>>> >>>> The archetype seem to have everything >>>> to be a webapp also , so I thought I just need to drop jsp in the >>>> src/main/webapp/index.jsp >>>> >>>> Adding welcome-file-list tag and >>>> welcome-file tag with index.jsp. >>>> in the web.xml file. >>>> >>>> That didn't do the trick. >>>> >>>> I got a 404. >>>> running jetty 11.0.0.beta3. >>>> >>>> Can you please tell me what more is needed for the index.jsp to be >>>> published >>>> . >>>> >>>> Regards >>>> >>>> >>>> >>>> _______________________________________________ >>>> jetty-users mailing list >>>> [email protected] >>>> To unsubscribe from this list, visit >>>> https://www.eclipse.org/mailman/listinfo/jetty-users >>>> >>> >>> >>> -- >>> Jan Bartel <[email protected]> >>> www.webtide.com >>> *Expert assistance from the creators of Jetty and CometD* >>> >>> _______________________________________________ >>> jetty-users mailing list >>> [email protected] >>> To unsubscribe from this list, visit >>> https://www.eclipse.org/mailman/listinfo/jetty-users >>> >> _______________________________________________ >> jetty-users mailing list >> [email protected] >> To unsubscribe from this list, visit >> https://www.eclipse.org/mailman/listinfo/jetty-users >> > > > -- > Jan Bartel <[email protected]> > www.webtide.com > *Expert assistance from the creators of Jetty and CometD* > > _______________________________________________ > jetty-users mailing list > [email protected] > To unsubscribe from this list, visit > https://www.eclipse.org/mailman/listinfo/jetty-users >
_______________________________________________ jetty-users mailing list [email protected] To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/jetty-users
