Hi,

using Heroku archetype jetty 11,
It appeared the jetty configurations may be different
when running mvn jetty:run  compared to running
embedded jetty using the main class. (below)
That is to say I would need to add further programmatic configuration to
the embedded jetty.

/**
 *  This class launches the web application in an embedded Jetty container.
 *  This is the entry point to your application. The Java
 *  command that is used for launching should fire this main method.
 */
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
behavior.
        // 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.start();
        server.join();
    }
}
<http://www.backbutton.co.uk/>


On Thu, 1 Apr 2021, 22:14 Greg Wilkins, <gr...@webtide.com> wrote:

> Som,
>
> Configuration.ClassList is from Jetty-9 and is no longer needed in Jetty
> 10 or 11.
> The Configuraition mechanism generally requires less classpath
> manipulation in 10 or 11, so I'd try just deleting that line.   Do you know
> why you are trying to obtain a classlist ?
>
> Perhaps look for the corresponding example in the jetty 11 source code?
>
>
> On Tue, 30 Mar 2021 at 23:36, Som Lima <somplastic...@gmail.com> wrote:
>
>> I was hoping for some feedback  on the error.
>>
>>         Configuration.ClassList classlist = Configuration.ClassList
>>             .setServerDefault(server);
>>
>> Multiple markers at this line
>> - ClassList cannot be resolved or is not a field
>> - Configuration.ClassList cannot be resolved to a
>> type
>>
>> I think was due to  an incompatible server object.
>>
>>
>> Whether my guess was correct or not  ?
>>
>>
>>
>> On Fri, 26 Mar 2021, 23:49 Som Lima, <somplastic...@gmail.com> wrote:
>>
>>> Problem version
>>>
>>> <groupId>org.apache.maven.plugins</groupId>
>>> <artifactId>maven-compiler-plugin</artifactId>
>>> <version>3.8.0</version>
>>> <inherited>true</inherited>
>>> <configuration>
>>> <source>11</source>
>>> <target>11</target>
>>> </configuration>
>>>
>>>
>>> <jetty.version>11.0.1</jetty.version>
>>> <http://www.backbutton.co.uk/>
>>>
>>>
>>> On Fri, 26 Mar 2021, 23:45 Som Lima, <somplastic...@gmail.com> wrote:
>>>
>>>> Now
>>>>     <jetty.version>9.4.35.v20201120</jetty.version>
>>>> on
>>>>     <maven.compiler.source>11</maven.compiler.source>
>>>>     <maven.compiler.target>11</maven.compiler.target>
>>>> <http://www.backbutton.co.uk/>
>>>>
>>>>
>>>> On Fri, 26 Mar 2021, 23:40 Joakim Erdfelt, <joa...@webtide.com> wrote:
>>>>
>>>>> What version of Jetty are you using?
>>>>>
>>>>> Joakim Erdfelt / joa...@webtide.com
>>>>>
>>>>>
>>>>> On Fri, Mar 26, 2021 at 6:34 PM Som Lima <somplastic...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Hi Thanks,
>>>>>>
>>>>>> I did try this Configuration.ClassList approach earlier  but I was
>>>>>> getting an error "
>>>>>> Multiple markers at this line
>>>>>> - ClassList cannot be resolved or is not a field
>>>>>> - Configuration.ClassList cannot be resolved to a
>>>>>> type
>>>>>>
>>>>>> I think was due to  an incompatible server object.
>>>>>>
>>>>>> I am working in another project now
>>>>>> this time I inserted the code ,  no eclipse IDE errors reported I
>>>>>> guess the server object is compatible.
>>>>>> My code looks like this but still I am missing JSP feature. Not sure
>>>>>> the syntax for that.
>>>>>> console error message"  No JSP support.  Check that JSP jars are in
>>>>>> lib/jsp and that the JSP option has been specified to start."
>>>>>>
>>>>>>
>>>>>> *I have these two dependencies in pom.xml*
>>>>>>
>>>>>> <dependency>
>>>>>> <groupId>org.eclipse.jetty</groupId>
>>>>>> <artifactId>apache-jsp</artifactId>
>>>>>> <version>${jetty.version}</version>
>>>>>> </dependency>
>>>>>> <dependency>
>>>>>> <groupId>jstl</groupId>
>>>>>> <artifactId>jstl</artifactId>
>>>>>> <version>1.2</version>
>>>>>> </dependency>
>>>>>>
>>>>>>
>>>>>> *This is what my code looks like but I don't think I have the jsp
>>>>>> configuration in either  variations*
>>>>>>
>>>>>>        context.setBaseResource(Resource.newResource(webResourceBase));
>>>>>>         context.setConfigurations(new Configuration[]
>>>>>>         {
>>>>>>             new AnnotationConfiguration(),
>>>>>>             new WebInfConfiguration(),
>>>>>>             new WebXmlConfiguration(),
>>>>>>             new MetaInfConfiguration(),
>>>>>>             new FragmentConfiguration(),
>>>>>>             new EnvConfiguration(),
>>>>>>             new PlusConfiguration(),
>>>>>>             new JettyWebXmlConfiguration()
>>>>>>         });
>>>>>>
>>>>>>         // === setup jetty plus ==
>>>>>>         Configuration.ClassList classlist = Configuration.ClassList
>>>>>>             .setServerDefault(server);
>>>>>>         classlist.addAfter(
>>>>>>             "org.eclipse.jetty.webapp.FragmentConfiguration",
>>>>>>             "org.eclipse.jetty.plus.webapp.EnvConfiguration",
>>>>>>             "org.eclipse.jetty.plus.webapp.PlusConfiguration");
>>>>>>
>>>>>> classlist.addBefore("org.eclipse.jetty.webapp.JettyWebXmlConfiguration",
>>>>>>             "org.eclipse.jetty.annotations.AnnotationConfiguration");
>>>>>>
>>>>>>         context.setContextPath("/");
>>>>>>
>>>>>> On Fri, 26 Mar 2021, 22:19 Joakim Erdfelt, <joa...@webtide.com>
>>>>>> wrote:
>>>>>>
>>>>>>> The order of that Configuration list is very important.
>>>>>>>
>>>>>>> It would be better to utilize the Server level component and just
>>>>>>> add the missing pieces you need.
>>>>>>>
>>>>>>> See:
>>>>>>>
>>>>>>>    -
>>>>>>>    
>>>>>>> https://github.com/eclipse/jetty.project/blob/jetty-9.4.38.v20210224/examples/embedded/src/main/java/org/eclipse/jetty/embedded/LikeJettyXml.java#L168-L177
>>>>>>>    -
>>>>>>>    
>>>>>>> https://github.com/jetty-project/embedded-jetty-jsp/blob/4918be37b938fff9fada5910ca04c59d8969cc90/src/main/java/org/eclipse/jetty/demo/Main.java#L131-L136
>>>>>>>
>>>>>>>
>>>>>>>         // === setup jetty plus ==
>>>>>>>         Configuration.ClassList classlist =
>>>>>>> Configuration.ClassList.setServerDefault(server);
>>>>>>>
>>>>>>>         // Add JNDI support
>>>>>>>         classlist.addAfter(
>>>>>>>             "org.eclipse.jetty.webapp.FragmentConfiguration",
>>>>>>>             "org.eclipse.jetty.plus.webapp.EnvConfiguration",
>>>>>>>             "org.eclipse.jetty.plus.webapp.PlusConfiguration");
>>>>>>>
>>>>>>>         // Add Annotation Scanning Support
>>>>>>>
>>>>>>> classlist.addBefore("org.eclipse.jetty.webapp.JettyWebXmlConfiguration",
>>>>>>>             "org.eclipse.jetty.annotations.AnnotationConfiguration");
>>>>>>>
>>>>>>> Leave the existing Configurations in place, don't overwrite/replace
>>>>>>> the entire list like you are doing.
>>>>>>> There is no need to configure the WebAppContext directly.
>>>>>>>
>>>>>>> Joakim Erdfelt / joa...@webtide.com
>>>>>>>
>>>>>>>
>>>>>>> On Fri, Mar 26, 2021 at 4:42 PM Som Lima <somplastic...@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> There appears to be a number of ways to configure annotations, jsp
>>>>>>>> support programmatically in the jetty embedded. i.e.
>>>>>>>> Configuration.ClassList.
>>>>>>>>
>>>>>>>> I have gone for this implementation.
>>>>>>>> Is there a one liner  new class I can insert in this code  to add
>>>>>>>> for JSP  functionality followed by corresponding libraries in the 
>>>>>>>> pom.xml ?
>>>>>>>>
>>>>>>>> context.setConfigurations(new Configuration[]
>>>>>>>>         {
>>>>>>>>             new AnnotationConfiguration(),
>>>>>>>>             new WebInfConfiguration(),
>>>>>>>>             new WebXmlConfiguration(),
>>>>>>>>             new MetaInfConfiguration(),
>>>>>>>>             new FragmentConfiguration(),
>>>>>>>>             new EnvConfiguration(),
>>>>>>>>             new PlusConfiguration(),
>>>>>>>>             new JettyWebXmlConfiguration()
>>>>>>>>         });
>>>>>>>> <http://www.backbutton.co.uk/>
>>>>>>>> Regards
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> jetty-users mailing list
>>>>>>>> jetty-users@eclipse.org
>>>>>>>> To unsubscribe from this list, visit
>>>>>>>> https://www.eclipse.org/mailman/listinfo/jetty-users
>>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> jetty-users mailing list
>>>>>>> jetty-users@eclipse.org
>>>>>>> To unsubscribe from this list, visit
>>>>>>> https://www.eclipse.org/mailman/listinfo/jetty-users
>>>>>>>
>>>>>> _______________________________________________
>>>>>> jetty-users mailing list
>>>>>> jetty-users@eclipse.org
>>>>>> To unsubscribe from this list, visit
>>>>>> https://www.eclipse.org/mailman/listinfo/jetty-users
>>>>>>
>>>>> _______________________________________________
>>>>> jetty-users mailing list
>>>>> jetty-users@eclipse.org
>>>>> To unsubscribe from this list, visit
>>>>> https://www.eclipse.org/mailman/listinfo/jetty-users
>>>>>
>>>> _______________________________________________
>> jetty-users mailing list
>> jetty-users@eclipse.org
>> To unsubscribe from this list, visit
>> https://www.eclipse.org/mailman/listinfo/jetty-users
>>
>
>
> --
> Greg Wilkins <gr...@webtide.com> CTO http://webtide.com
> _______________________________________________
> jetty-users mailing list
> jetty-users@eclipse.org
> To unsubscribe from this list, visit
> https://www.eclipse.org/mailman/listinfo/jetty-users
>
_______________________________________________
jetty-users mailing list
jetty-users@eclipse.org
To unsubscribe from this list, visit 
https://www.eclipse.org/mailman/listinfo/jetty-users

Reply via email to