Great support, thx! :) BTJ
On Fri, 1 Apr 2016 17:27:45 +1100 Jan Bartel <[email protected]> wrote: > Hi, > > I've been looking more into Spring Boot, and I've converted the standard > jsf guessNumber example to use it. > > The trick is that spring-boot needs a patch to make jetty work correctly > with jsp/jstl etc. Here's a link to the relevant pull request: > https://github.com/spring-projects/spring-boot/pull/5290 > > Having locally built spring-boot with this patch, everything started to > work (using jetty-9.2.x). > > I'm attaching the guessNumber-springboot example project, so you can see > what I did to make jsf work. I should point out that I based some of this > on: https://github.com/stephanrauh/JSF-on-Spring-Boot > > Jan > > > On 30 March 2016 at 07:21, Bjørn T Johansen <[email protected]> wrote: > > > Thx! Lot of info here, will have a look... :) > > > > BTJ > > > > On 29.03.2016 08:35, Jan Bartel wrote: > > > > I can't see anything particularly wrong with the dependencies, except you > > need to remove com.sun.el:el-ri:1.0. > > > > I'm attaching a very small example project, which is the standard jsf > > guessNumber webapp, configured to run with the jetty maven plugin. The > > only trick to getting this to work is to ensure that: > > > > 1. the jsf jars are on the container classpath and not the webapp > > classpath (in this case this is achieved by adding the jsf jars to the > > plugin dependencies) > > 2. the jsf jars are scanned by jetty (this is achieved by the > > configuration element > > <containerIncludeJarPattern>.*/jsf-[^/]*\.jar$</containerIncludeJarPattern> > > > > Point 2 above is actually a jetty maven plugin specific way of telling > > jetty that there are some jars that need scanning for tlds etc. > > > > If you're not using the maven plugin, then the way to do it is to set up a > > context attribute called > > "org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern" to some > > regexps that match the names of the jars that need scanning. In the jetty > > distro, the pattern in the etc/jetty-deploy.xml file is: > > .*/[^/]*servlet-api-[^/]*\.jar$|.*/javax.servlet.jsp.jstl-.*\.jar$|.*/org.apache.taglibs.taglibs-standard-impl-.*\.jar$ > > > > So to add in the pattern for jsf, the full final pattern would be: > > > > .*/jsf-[^/]*\.jar$| > > .*/[^/]*servlet-api-[^/]*\.jar$|.*/javax.servlet.jsp.jstl-.*\.jar$|.*/org.apache.taglibs.taglibs-standard-impl-.*\.jar$ > > > > Note that if you need to set this pattern in code instead, you'd need to > > escape the backslashes like so: > > > > webappContext.setAttribute("org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern", > > > > ".*/jsf-[^/]*\\.jar$| > > .*/[^/]*servlet-api-[^/]*\\.jar$|.*/javax.servlet.jsp.jstl-.*\\.jar$|.*/org.apache.taglibs.taglibs-standard-impl-.*\\.jar$"); > > > > Try playing around with the guessNumber example to make it more like your > > setup. My guess is that the jsf jars just aren't being initialized > > correctly, most probably because they're not being scanned, hence the need > > for the org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern > > attribute. > > > > You can also turn on debug logging for annotations > > (org.eclipse.jetty.annotations.LEVEL=DEBUG if using standard jetty logging) > > and verify that you see the jsf jars being included for scanning. You > > should see lines like: > > > > Scanning jar [path to]/jsf-impl-2.2.13.jar > > > > Jan > > > > > > On 27 March 2016 at 23:42, Bjørn T Johansen <[email protected]> wrote: > > > >> Checked my dependencies but I can not find anything strange but perhaps > >> you guys can, I have included the dependencies as a attachment... > >> > >> BTJ > >> > >> On Sun, 27 Mar 2016 15:30:55 +1100 > >> Jan Bartel <[email protected]> wrote: > >> > >> > I don't think your list of dependencies can be correct yet - something > >> must > >> > be transitively including older versions. The org.mortbay.jasper jars > >> are > >> > based on Apache's jasper that implement jsp version 2.3. > >> > > >> > I think to get any further with this you are going to have to post a > >> full > >> > list of your dependencies (including the jetty jars) and any config you > >> > pass in to spring boot so we can see what jars are on the classpath. > >> > > >> > regards > >> > Jan > >> > > >> > On 26 March 2016 at 21:30, Bjørn T Johansen <[email protected]> wrote: > >> > > >> > > Well, I do not actually use jsp but I think JSF is pulling in this. > >> If I > >> > > remove the jsp jars, I get the following exception: > >> > > > >> > > java.lang.ClassNotFoundException: javax.servlet.jsp.JspFactory > >> > > > >> > > What's the best way to get rid of this when running Jetty? (When > >> running > >> > > Tomcat, I have to include > >> org.apache.tomcat.embed:tomcat-embed-jasper). > >> > > > >> > > > >> > > I also get this when compiling: > >> > > > >> > > Error:(129, 70) java: cannot access javax.el.ELException > >> > > class file for javax.el.ELException not found > >> > > > >> > > That's why I have included org.glassfish.web:el-impl:2.2 > >> > > > >> > > > >> > > And I tried to use the jars you listed but then I get the following > >> > > exception: > >> > > > >> > > caused by: com.sun.faces.config.ConfigurationException: It appears > >> the JSP > >> > > version of the container is older than 2.1 and unable to locate the > >> EL RI > >> > > expression factory, com.sun.el.ExpressionFactoryImpl. If not using > >> JSP or > >> > > the EL RI, make sure the context initialization parameter, > >> > > com.sun.faces.expressionFactory, is properly set. at > >> > > > >> > > > >> com.sun.faces.config.ConfigureListener.registerELResolverAndListenerWithJsp(ConfigureListener.java:694) > >> > > > >> > > > >> > > I solved this by adding com.sun.el:el-ri:1.0 and now it compiles > >> again and > >> > > runs but I still get the same message in the log. > >> > > > >> > > > >> > > BTJ > >> > > > >> > > > >> > > On Sat, 26 Mar 2016 10:47:19 +1100 > >> > > Jan Bartel <[email protected]> wrote: > >> > > > >> > > > Bjørn, > >> > > > > >> > > > I would recommend that you use the jsp jars that we distribute with > >> > > jetty. > >> > > > You'll need these dependencies: > >> > > > > >> > > > for jsp: > >> > > > org.eclipse.jetty:apache-jsp:jar:<version of jetty you're using> > >> > > > javax.servlet:javax.servlet-api:jar:3.1.0 > >> > > > org.mortbay.jasper:apache-jsp:jar:8.0.27 > >> > > > org.mortbay.jasper:apache-el:jar:8.0.27 > >> > > > org.eclipse.jdt.core.compiler:ecj:jar:4.4.2 > >> > > > > >> > > > for jstl: > >> > > > org.apache.taglibs:taglibs-standard-spec:jar:1.2.5 > >> > > > org.apache.taglibs:taglibs-standard-impl:jar:1.2.5 > >> > > > > >> > > > Also have a read of the jetty page about jsp and follow the links to > >> > > > embedded examples: > >> > > > > >> > > > >> http://www.eclipse.org/jetty/documentation/9.3.0.v20150612/configuring-jsp.html > >> > > > > >> > > > Jan > >> > > > > >> > > > On 26 March 2016 at 07:42, Bjørn T Johansen <[email protected]> wrote: > >> > > > > >> > > > > Hi. > >> > > > > > >> > > > > I am trying to switch my Spring Boot, with JSF 2.2, projects from > >> using > >> > > > > embedded Tomcat to using embedded Jetty and I seems to have it > >> working > >> > > now, > >> > > > > just one annoying log message in the log that I can not seem to > >> get > >> > > rid of: > >> > > > > > >> > > > > JSF1027: [null] The ELResolvers for JSF were not registered with > >> the > >> > > JSP > >> > > > > container. > >> > > > > > >> > > > > > >> > > > > My dependencies looks like this: > >> > > > > > >> > > > > dependencies { > >> > > > > > >> compile('org.springframework.boot:spring-boot-starter-actuator') > >> > > > > compile('org.springframework.boot:spring-boot-starter-jdbc') { > >> > > > > exclude group: 'org.apache.tomcat' , module: 'tomcat-jdbc' > >> > > > > } > >> > > > > compile('org.projectlombok:lombok:1.16.6') > >> > > > > compile('org.springframework.boot:spring-boot-starter-mail') > >> > > > > > >> compile('org.springframework.boot:spring-boot-starter-security') > >> > > > > compile('org.springframework.boot:spring-boot-starter-web') { > >> > > > > exclude module: 'spring-boot-starter-tomcat' > >> > > > > exclude module: 'spring-boot-starter-validation' > >> > > > > exclude group: 'org.apache.tomcat:embed' , module: > >> > > > > 'tomcat-embed-el' > >> > > > > } > >> > > > > compile('org.springframework.boot:spring-boot-starter-jetty') > >> > > > > compile('com.zaxxer:HikariCP:2.4.5') > >> > > > > compile "org.primefaces:primefaces:$primefaces" > >> > > > > compile 'com.google.code.gson:gson:2.6.2' > >> > > > > compile 'org.apache.commons:commons-lang3:3.3.2' > >> > > > > compile "com.sun.faces:jsf-api:$jsf" > >> > > > > compile "com.sun.faces:jsf-impl:$jsf" > >> > > > > compile "org.jasypt:jasypt:$jasypt" > >> > > > > compile "org.jasypt:jasypt-springsecurity3:$jasypt" > >> > > > > compile "org.jasypt:jasypt-spring31:$jasypt" > >> > > > > compile 'joda-time:joda-time:2.9.2' > >> > > > > compile 'com.google.guava:guava:19.0' > >> > > > > compile('javax.servlet:jsp-api:2.0') > >> > > > > compile('javax.servlet:javax.servlet-api:3.1.0') > >> > > > > compile('org.glassfish.web:el-impl:2.2') > >> > > > > runtime('org.postgresql:postgresql:9.4.1208') > >> > > > > } > >> > > > > > >> > > > > > >> > > > > First, is this a correct configured Jetty project? Also, what is > >> > > missing, > >> > > > > can I get rid of that log message or can I just ignore it? > >> > > > > > >> > > > > > >> > > > > Regards, > >> > > > > > >> > > > > BTJ > >> > > > > > >> > > > > -- > >> > > > > > >> > > > > > >> > > > >> ----------------------------------------------------------------------------------------------- > >> > > > > Bjørn T Johansen > >> > > > > > >> > > > > [email protected] > >> > > > > > >> > > > > > >> > > > >> ----------------------------------------------------------------------------------------------- > >> > > > > Someone wrote: > >> > > > > "I understand that if you play a Windows CD backwards you hear > >> strange > >> > > > > Satanic messages" > >> > > > > To which someone replied: > >> > > > > "It's even worse than that; play it forwards and it installs > >> Windows" > >> > > > > > >> > > > > > >> > > > >> ----------------------------------------------------------------------------------------------- > >> > > > > _______________________________________________ > >> > > > > jetty-users mailing list > >> > > > > [email protected] > >> > > > > To change your delivery options, retrieve your password, or > >> unsubscribe > >> > > > > from this list, visit > >> > > > > https://dev.eclipse.org/mailman/listinfo/jetty-users > >> > > > > >> > > > > >> > > > > >> > > > > >> > > _______________________________________________ > >> > > jetty-users mailing list > >> > > [email protected] > >> > > To change your delivery options, retrieve your password, or > >> unsubscribe > >> > > from this list, visit > >> > > https://dev.eclipse.org/mailman/listinfo/jetty-users > >> > > > >> > > >> > > >> > > >> > >> _______________________________________________ > >> jetty-users mailing list > >> [email protected] > >> To change your delivery options, retrieve your password, or unsubscribe > >> from this list, visit > >> https://dev.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 change your delivery options, retrieve your password, or unsubscribe > > from this list, visit > > https://dev.eclipse.org/mailman/listinfo/jetty-users > > > > > > > > _______________________________________________ > > jetty-users mailing list > > [email protected] > > To change your delivery options, retrieve your password, or unsubscribe > > from this list, visit > > https://dev.eclipse.org/mailman/listinfo/jetty-users > > > > > _______________________________________________ jetty-users mailing list [email protected] To change your delivery options, retrieve your password, or unsubscribe from this list, visit https://dev.eclipse.org/mailman/listinfo/jetty-users
