Update booking-faces to Jakarta EE
This commit is contained in:
@@ -28,6 +28,16 @@
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-orm</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.webflow</groupId>
|
||||
<artifactId>spring-binding</artifactId>
|
||||
<version>${webflow.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.webflow</groupId>
|
||||
<artifactId>spring-webflow</artifactId>
|
||||
<version>${webflow.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.webflow</groupId>
|
||||
<artifactId>spring-faces</artifactId>
|
||||
@@ -43,38 +53,41 @@
|
||||
</dependency>
|
||||
<!-- Servlet -->
|
||||
<dependency>
|
||||
<groupId>javax.servlet</groupId>
|
||||
<artifactId>javax.servlet-api</artifactId>
|
||||
<groupId>jakarta.servlet</groupId>
|
||||
<artifactId>jakarta.servlet-api</artifactId>
|
||||
<version>${servlet.version}</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<!-- JSF implementation: Mojarra -->
|
||||
<dependency>
|
||||
<groupId>com.sun.faces</groupId>
|
||||
<artifactId>jsf-api</artifactId>
|
||||
<version>${mojarra.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.sun.faces</groupId>
|
||||
<artifactId>jsf-impl</artifactId>
|
||||
<groupId>org.glassfish</groupId>
|
||||
<artifactId>jakarta.faces</artifactId>
|
||||
<version>${mojarra.version}</version>
|
||||
</dependency>
|
||||
<!-- JSF implementation: MyFaces (also change DispatcherServletInitializer)
|
||||
<dependency>
|
||||
<groupId>org.apache.myfaces.core</groupId>
|
||||
<artifactId>myfaces-api</artifactId>
|
||||
<version>${myfaces.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.myfaces.core</groupId>
|
||||
<artifactId>myfaces-impl</artifactId>
|
||||
<version>${myfaces.version}</version>
|
||||
</dependency>
|
||||
-->
|
||||
<dependency>
|
||||
<groupId>jakarta.enterprise</groupId>
|
||||
<artifactId>jakarta.enterprise.cdi-api</artifactId>
|
||||
<scope>provided</scope>
|
||||
<version>${cdi-api}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jboss.weld.servlet</groupId>
|
||||
<artifactId>weld-servlet-shaded</artifactId>
|
||||
<scope>runtime</scope>
|
||||
<version>${weld.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.primefaces</groupId>
|
||||
<artifactId>primefaces</artifactId>
|
||||
<version>${primefaces.version}</version>
|
||||
<classifier>jakarta</classifier>
|
||||
</dependency>
|
||||
<!-- Database, JPA -->
|
||||
<dependency>
|
||||
@@ -83,6 +96,11 @@
|
||||
<version>${hsqldb.version}</version>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.hibernate</groupId>
|
||||
<artifactId>hibernate-core-jakarta</artifactId>
|
||||
<version>${hibernate.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.hibernate</groupId>
|
||||
<artifactId>hibernate-entitymanager</artifactId>
|
||||
@@ -90,7 +108,7 @@
|
||||
</dependency>
|
||||
<!-- JSR 303 with Hibernate Validator -->
|
||||
<dependency>
|
||||
<groupId>org.hibernate</groupId>
|
||||
<groupId>org.hibernate.validator</groupId>
|
||||
<artifactId>hibernate-validator</artifactId>
|
||||
<version>${hibernate-validator.version}</version>
|
||||
</dependency>
|
||||
@@ -157,8 +175,8 @@
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.7.0</version>
|
||||
<configuration>
|
||||
<source>1.8</source>
|
||||
<target>1.8</target>
|
||||
<source>17</source>
|
||||
<target>17</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
|
||||
@@ -6,18 +6,18 @@ import java.text.DateFormat;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
|
||||
import javax.persistence.Basic;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.GeneratedValue;
|
||||
import javax.persistence.GenerationType;
|
||||
import javax.persistence.Id;
|
||||
import javax.persistence.ManyToOne;
|
||||
import javax.persistence.Temporal;
|
||||
import javax.persistence.TemporalType;
|
||||
import javax.persistence.Transient;
|
||||
import javax.validation.constraints.Future;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import javax.validation.constraints.Pattern;
|
||||
import jakarta.persistence.Basic;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Temporal;
|
||||
import jakarta.persistence.TemporalType;
|
||||
import jakarta.persistence.Transient;
|
||||
import jakarta.validation.constraints.Future;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import jakarta.validation.constraints.Pattern;
|
||||
|
||||
import org.hibernate.validator.constraints.NotEmpty;
|
||||
import org.springframework.binding.message.MessageBuilder;
|
||||
|
||||
@@ -3,10 +3,10 @@ package org.springframework.webflow.samples.booking;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.GeneratedValue;
|
||||
import javax.persistence.Id;
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.Id;
|
||||
|
||||
/**
|
||||
* A hotel where users may book stays.
|
||||
|
||||
@@ -5,6 +5,7 @@ import java.util.Map;
|
||||
|
||||
import org.primefaces.model.FilterMeta;
|
||||
import org.primefaces.model.LazyDataModel;
|
||||
import org.primefaces.model.SortMeta;
|
||||
import org.primefaces.model.SortOrder;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -32,9 +33,21 @@ public class HotelLazyDataModel extends LazyDataModel<Hotel> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Hotel> load(int first, int pageSize, String sortField, SortOrder order, Map<String, FilterMeta> filterBy) {
|
||||
public int count(Map<String, FilterMeta> filterBy) {
|
||||
return bookingService.getNumberOfHotels(this.searchCriteria);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Hotel> load(int first, int pageSize, Map<String, SortMeta> sortBy, Map<String, FilterMeta> filterBy) {
|
||||
this.searchCriteria.setCurrentPage(first / pageSize + 1);
|
||||
this.hotels = bookingService.findHotels(searchCriteria, first, sortField, order.equals(SortOrder.ASCENDING));
|
||||
String sortField = null;
|
||||
SortOrder sortOrder = SortOrder.ASCENDING;
|
||||
if (!sortBy.isEmpty()) {
|
||||
SortMeta sortMeta = sortBy.values().iterator().next();
|
||||
sortField = sortMeta.getField();
|
||||
sortOrder = sortMeta.getOrder();
|
||||
}
|
||||
this.hotels = bookingService.findHotels(searchCriteria, first, sortField, !sortOrder.equals(SortOrder.DESCENDING));
|
||||
return hotels;
|
||||
}
|
||||
|
||||
@@ -49,8 +62,8 @@ public class HotelLazyDataModel extends LazyDataModel<Hotel> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getRowKey(Hotel hotel) {
|
||||
return hotel.getId();
|
||||
public String getRowKey(Hotel hotel) {
|
||||
return String.valueOf(hotel.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -3,8 +3,8 @@ package org.springframework.webflow.samples.booking;
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
import javax.persistence.EntityManager;
|
||||
import javax.persistence.PersistenceContext;
|
||||
import jakarta.persistence.EntityManager;
|
||||
import jakarta.persistence.PersistenceContext;
|
||||
|
||||
import org.springframework.stereotype.Repository;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -4,7 +4,7 @@ import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.List;
|
||||
|
||||
import javax.faces.model.SelectItem;
|
||||
import jakarta.faces.model.SelectItem;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -23,17 +23,17 @@ public class ReferenceData {
|
||||
|
||||
public List<SelectItem> getBedOptions() {
|
||||
if (bedOptions == null) {
|
||||
bedOptions = new ArrayList<SelectItem>();
|
||||
bedOptions.add(new SelectItem(new Integer(1), "One king-size bed"));
|
||||
bedOptions.add(new SelectItem(new Integer(2), "Two double beds"));
|
||||
bedOptions.add(new SelectItem(new Integer(3), "Three beds"));
|
||||
bedOptions = new ArrayList<>();
|
||||
bedOptions.add(new SelectItem(1, "One king-size bed"));
|
||||
bedOptions.add(new SelectItem(2, "Two double beds"));
|
||||
bedOptions.add(new SelectItem(3, "Three beds"));
|
||||
}
|
||||
return bedOptions;
|
||||
}
|
||||
|
||||
public List<SelectItem> getSmokingOptions() {
|
||||
if (smokingOptions == null) {
|
||||
smokingOptions = new ArrayList<SelectItem>();
|
||||
smokingOptions = new ArrayList<>();
|
||||
smokingOptions.add(new SelectItem(Boolean.TRUE, "Smoking"));
|
||||
smokingOptions.add(new SelectItem(Boolean.FALSE, "Non-Smoking"));
|
||||
}
|
||||
@@ -42,42 +42,42 @@ public class ReferenceData {
|
||||
|
||||
public List<SelectItem> getCreditCardExpMonths() {
|
||||
if (creditCardExpMonths == null) {
|
||||
creditCardExpMonths = new ArrayList<SelectItem>();
|
||||
creditCardExpMonths.add(new SelectItem(new Integer(1), "Jan"));
|
||||
creditCardExpMonths.add(new SelectItem(new Integer(2), "Feb"));
|
||||
creditCardExpMonths.add(new SelectItem(new Integer(3), "Mar"));
|
||||
creditCardExpMonths.add(new SelectItem(new Integer(4), "Apr"));
|
||||
creditCardExpMonths.add(new SelectItem(new Integer(5), "May"));
|
||||
creditCardExpMonths.add(new SelectItem(new Integer(6), "Jun"));
|
||||
creditCardExpMonths.add(new SelectItem(new Integer(7), "Jul"));
|
||||
creditCardExpMonths.add(new SelectItem(new Integer(8), "Aug"));
|
||||
creditCardExpMonths.add(new SelectItem(new Integer(9), "Sep"));
|
||||
creditCardExpMonths.add(new SelectItem(new Integer(10), "Oct"));
|
||||
creditCardExpMonths.add(new SelectItem(new Integer(11), "Nov"));
|
||||
creditCardExpMonths.add(new SelectItem(new Integer(12), "Dec"));
|
||||
creditCardExpMonths = new ArrayList<>();
|
||||
creditCardExpMonths.add(new SelectItem(1, "Jan"));
|
||||
creditCardExpMonths.add(new SelectItem(2, "Feb"));
|
||||
creditCardExpMonths.add(new SelectItem(3, "Mar"));
|
||||
creditCardExpMonths.add(new SelectItem(4, "Apr"));
|
||||
creditCardExpMonths.add(new SelectItem(5, "May"));
|
||||
creditCardExpMonths.add(new SelectItem(6, "Jun"));
|
||||
creditCardExpMonths.add(new SelectItem(7, "Jul"));
|
||||
creditCardExpMonths.add(new SelectItem(8, "Aug"));
|
||||
creditCardExpMonths.add(new SelectItem(9, "Sep"));
|
||||
creditCardExpMonths.add(new SelectItem(10, "Oct"));
|
||||
creditCardExpMonths.add(new SelectItem(11, "Nov"));
|
||||
creditCardExpMonths.add(new SelectItem(12, "Dec"));
|
||||
}
|
||||
return creditCardExpMonths;
|
||||
}
|
||||
|
||||
public List<SelectItem> getCreditCardExpYears() {
|
||||
if (creditCardExpYears == null) {
|
||||
creditCardExpYears = new ArrayList<SelectItem>();
|
||||
creditCardExpYears = new ArrayList<>();
|
||||
Calendar cal = Calendar.getInstance();
|
||||
int year = cal.get(Calendar.YEAR);
|
||||
creditCardExpYears.add(new SelectItem(new Integer(year), String.valueOf(year++)));
|
||||
creditCardExpYears.add(new SelectItem(new Integer(year), String.valueOf(year++)));
|
||||
creditCardExpYears.add(new SelectItem(new Integer(year), String.valueOf(year++)));
|
||||
creditCardExpYears.add(new SelectItem(new Integer(year), String.valueOf(year++)));
|
||||
creditCardExpYears.add(new SelectItem(new Integer(year), String.valueOf(year++))); }
|
||||
creditCardExpYears.add(new SelectItem(year, String.valueOf(year++)));
|
||||
creditCardExpYears.add(new SelectItem(year, String.valueOf(year++)));
|
||||
creditCardExpYears.add(new SelectItem(year, String.valueOf(year++)));
|
||||
creditCardExpYears.add(new SelectItem(year, String.valueOf(year++)));
|
||||
creditCardExpYears.add(new SelectItem(year, String.valueOf(year++))); }
|
||||
return creditCardExpYears;
|
||||
}
|
||||
|
||||
public List<SelectItem> getPageSizeOptions() {
|
||||
if (pageSizeOptions == null) {
|
||||
pageSizeOptions = new ArrayList<SelectItem>();
|
||||
pageSizeOptions.add(new SelectItem(new Integer(5), "5"));
|
||||
pageSizeOptions.add(new SelectItem(new Integer(10), "10"));
|
||||
pageSizeOptions.add(new SelectItem(new Integer(20), "20"));
|
||||
pageSizeOptions = new ArrayList<>();
|
||||
pageSizeOptions.add(new SelectItem(5, "5"));
|
||||
pageSizeOptions.add(new SelectItem(10, "10"));
|
||||
pageSizeOptions.add(new SelectItem(20, "20"));
|
||||
}
|
||||
return pageSizeOptions;
|
||||
}
|
||||
|
||||
@@ -2,9 +2,9 @@ package org.springframework.webflow.samples.booking;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.Id;
|
||||
import javax.persistence.Table;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.Table;
|
||||
|
||||
/**
|
||||
* A user who can book hotels.
|
||||
|
||||
@@ -2,7 +2,7 @@ package org.springframework.webflow.samples.booking.config;
|
||||
|
||||
import java.util.Collections;
|
||||
|
||||
import javax.persistence.EntityManagerFactory;
|
||||
import jakarta.persistence.EntityManagerFactory;
|
||||
import javax.sql.DataSource;
|
||||
|
||||
import org.springframework.context.annotation.Bean;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package org.springframework.webflow.samples.booking.config;
|
||||
|
||||
import javax.servlet.Filter;
|
||||
import javax.servlet.ServletContext;
|
||||
import javax.servlet.ServletException;
|
||||
import jakarta.servlet.Filter;
|
||||
import jakarta.servlet.ServletContext;
|
||||
import jakarta.servlet.ServletException;
|
||||
|
||||
import org.springframework.web.filter.CharacterEncodingFilter;
|
||||
import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;
|
||||
@@ -34,13 +34,13 @@ public class DispatcherServletInitializer extends AbstractAnnotationConfigDispat
|
||||
public void onStartup(ServletContext servletContext) throws ServletException {
|
||||
|
||||
// Use JSF view templates saved as *.xhtml, for use with Facelets
|
||||
servletContext.setInitParameter("javax.faces.DEFAULT_SUFFIX", ".xhtml");
|
||||
servletContext.setInitParameter("jakarta.faces.DEFAULT_SUFFIX", ".xhtml");
|
||||
// Enable special Facelets debug output during development
|
||||
servletContext.setInitParameter("javax.faces.PROJECT_STAGE", "Development");
|
||||
servletContext.setInitParameter("jakarta.faces.PROJECT_STAGE", "Development");
|
||||
// Causes Facelets to refresh templates during development
|
||||
servletContext.setInitParameter("javax.faces.FACELETS_REFRESH_PERIOD", "1");
|
||||
servletContext.setInitParameter("jakarta.faces.FACELETS_REFRESH_PERIOD", "1");
|
||||
// Declare Spring Security Facelets tag library
|
||||
servletContext.setInitParameter("javax.faces.FACELETS_LIBRARIES", "/WEB-INF/springsecurity.taglib.xml");
|
||||
servletContext.setInitParameter("jakarta.faces.FACELETS_LIBRARIES", "/WEB-INF/springsecurity.taglib.xml");
|
||||
|
||||
// Comment out if not using Mojarra
|
||||
servletContext.addListener(com.sun.faces.config.ConfigureListener.class);
|
||||
|
||||
@@ -1,18 +1,20 @@
|
||||
package org.springframework.webflow.samples.booking.config;
|
||||
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
|
||||
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
|
||||
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
|
||||
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
|
||||
import org.springframework.security.core.userdetails.User;
|
||||
import org.springframework.security.provisioning.InMemoryUserDetailsManager;
|
||||
import org.springframework.security.web.SecurityFilterChain;
|
||||
import org.springframework.security.web.savedrequest.HttpSessionRequestCache;
|
||||
|
||||
@Configuration
|
||||
@EnableWebSecurity
|
||||
public class SecurityConfig extends WebSecurityConfigurerAdapter {
|
||||
public class SecurityConfig {
|
||||
|
||||
@Override
|
||||
protected void configure(HttpSecurity http) throws Exception {
|
||||
@Bean
|
||||
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
|
||||
http
|
||||
.formLogin()
|
||||
.loginPage("/spring/login")
|
||||
@@ -26,16 +28,16 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
|
||||
.and()
|
||||
.requestCache()
|
||||
.requestCache(new HttpSessionRequestCache());
|
||||
return http.build();
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
|
||||
auth.inMemoryAuthentication()
|
||||
.withUser("keith").password("{MD5}417c7382b16c395bc25b5da1398cf076").roles("USER", "SUPERVISOR").and()
|
||||
.withUser("erwin").password("{MD5}12430911a8af075c6f41c6976af22b09").roles("USER", "SUPERVISOR").and()
|
||||
.withUser("jeremy").password("{MD5}57c6cbff0d421449be820763f03139eb").roles("USER").and()
|
||||
.withUser("scott").password("{MD5}942f2339bf50796de535a384f0d1af3e").roles("USER");
|
||||
@Bean
|
||||
public InMemoryUserDetailsManager userDetailsService() {
|
||||
return new InMemoryUserDetailsManager(
|
||||
User.withUsername("keith").password("{MD5}417c7382b16c395bc25b5da1398cf076").roles("USER", "SUPERVISOR").build(),
|
||||
User.withUsername("erwin").password("{MD5}12430911a8af075c6f41c6976af22b09").roles("USER", "SUPERVISOR").build(),
|
||||
User.withUsername("jeremy").password("{MD5}57c6cbff0d421449be820763f03139eb").roles("USER").build(),
|
||||
User.withUsername("scott").password("{MD5}942f2339bf50796de535a384f0d1af3e").roles("USER").build());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
# the {0} is the Bean Validation constraint message (e.g. "may not be empty") and {1} is the
|
||||
# field name or the field label if defined (e.g. "First name").
|
||||
#
|
||||
javax.faces.validator.BeanValidator.MESSAGE={1} {0}
|
||||
jakarta.faces.validator.BeanValidator.MESSAGE={1} {0}
|
||||
8
booking-faces/src/main/webapp/WEB-INF/beans.xml
Normal file
8
booking-faces/src/main/webapp/WEB-INF/beans.xml
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
|
||||
version="3.0"
|
||||
bean-discovery-mode="all">
|
||||
|
||||
</beans>
|
||||
@@ -3,7 +3,7 @@ package org.springframework.webflow.samples.booking;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.faces.model.DataModel;
|
||||
import jakarta.faces.model.DataModel;
|
||||
|
||||
import org.easymock.EasyMock;
|
||||
import org.springframework.binding.mapping.Mapper;
|
||||
|
||||
14
pom.xml
14
pom.xml
@@ -10,8 +10,8 @@
|
||||
|
||||
<modules>
|
||||
<module>booking-mvc</module>
|
||||
<!--
|
||||
<module>booking-faces</module>
|
||||
<!--
|
||||
<module>primefaces-showcase</module>
|
||||
<module>webflow-showcase</module>
|
||||
-->
|
||||
@@ -19,20 +19,22 @@
|
||||
|
||||
<properties>
|
||||
<easymock.version>3.4</easymock.version>
|
||||
<cdi-api>4.0.1</cdi-api>
|
||||
<hsqldb.version>2.5.1</hsqldb.version>
|
||||
<hibernate.version>5.6.15.Final</hibernate.version>
|
||||
<hibernate-validator.version>8.0.0.Final</hibernate-validator.version>
|
||||
<jaxb.version>2.2.3</jaxb.version>
|
||||
<jetty-maven-plugin.version>11.0.11</jetty-maven-plugin.version>
|
||||
<jsp-api.version>3.0.0</jsp-api.version>
|
||||
<jstl-api>2.0.0</jstl-api>
|
||||
<jsp-api.version>3.1.0</jsp-api.version>
|
||||
<jstl-api>3.0.0</jstl-api>
|
||||
<junit.version>4.13.2</junit.version>
|
||||
<log4j.version>2.14.0</log4j.version>
|
||||
<mojarra.version>2.2.20</mojarra.version>
|
||||
<myfaces.version>2.3.8</myfaces.version>
|
||||
<primefaces.version>8.0</primefaces.version>
|
||||
<mojarra.version>4.0.2</mojarra.version>
|
||||
<myfaces.version>4.0.0</myfaces.version>
|
||||
<primefaces.version>11.0.0</primefaces.version>
|
||||
<servlet.version>6.0.0</servlet.version>
|
||||
<webflow.version>3.0.0-SNAPSHOT</webflow.version>
|
||||
<weld.version>5.0.0.Final</weld.version>
|
||||
<maven-surefire-plugin.version>2.22.2</maven-surefire-plugin.version>
|
||||
</properties>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user