You do not need to add the welcome files clause to your web.xml. Jetty has
a default web.xml file that sets up jsp for you.

I think the issue is that your web.xml file is not targetted at jetty-11,
which uses the jakarta.* namespace as Olivier pointed out in a previous
post.

Jan

On Thu, 25 Mar 2021 at 11:57, Som Lima <[email protected]> wrote:

> 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
>


-- 
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

Reply via email to