From: Roland Häder Date: Thu, 10 Nov 2022 14:00:59 +0000 (+0100) Subject: Continued: X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=425063edc09b7bceb2a6a335375c48427cf3c251;p=addressbook.git Continued: - described more detailed what you have to do and why --- diff --git a/INSTALL.txt b/INSTALL.txt index 40b4dad..56309d2 100644 --- a/INSTALL.txt +++ b/INSTALL.txt @@ -1,11 +1,34 @@ Installation instructions: ========================== +0) Make sure to have Payara 4.1.2.181 installed AND have javax.faces.jar + REPLACED with version 2.3.9 (2.4.0 seem to be a little to new) as the WAR + project requires JSF 2.3 (not JSF 2.2 what is shipped with Payara). + Paraya is currently required as a @NamedCache annotation alongside @Inject + is being used to inject the cache into the backing bean. + + The server.log should reveal a line with "Initializing Mojarra 2.3.9". If + that is the case, half way is done and you can continue. Hint: "grep" on it! + + A common mistake is to copy the required JARs not to ~/personal_domain/lib/ + (or where ever your domain's lib path is) as the required JARs varies from + EJB/WAR project. The easiest but single-host deployment is to build the EAR + project by doing a "ant dist" in THIS project's root directory. + + For the EJB projects, any EJB 3.0/JPA 2.2 container SHOULD work, Payara 4.1 + has been tested/used by myself. + 1) Create an empty database and setup proper permissions and user account. You should create a separate database and user for each project you are going to run on it for maximum security. -2) Setup a JDBC pool. I took the simple driver: +2) Setup a JDBC pool. This is an example for a MariaDB JDBC driver, a SQLite3 + database resource works surely differently (other URL, user/password can be + anything non-empty). I would recommend SQLite3 for development (up to 1 mio. + records with almost no performance drop) and MariaDB/PostreSQL (later not + tested by myself) or any other DBMS (including MongoDB) for the "productive" + installation as this project only imports from the javax.persistence package + and not EclipseLink/Hibernate/DataNucleus specific packages. Pool name: AddressbookPool Resource type: java.sql.Driver @@ -21,10 +44,11 @@ password: your_password JNDI name: jdbc/addressbook Pool name: AddressbookPool -4) In juser-core project you will find a JAR named "commons-codec-1.10.jar" you - need to copy this to your $GLASSFISH_DOMAIN/lib/ path to make password - encryption working. Please setup sufficient access rights (CHMOD 0644 is - enough). +4) You DO have to copy A LOT JARs from my project's directories, including my + custom JARs as they contain the entity classes, custom exceptions, utility + classes, event classes/interfaces and many required more. Plus you also + need to copy all 3rd-party JARs or else it will end with the all-famous + NoClassDefError. If you forgot this file to copy and you have copied it now, please restart the Glassfish server so the JAR can be found and loaded. @@ -49,6 +73,7 @@ Default sender address: noreply@your-domain.example Optional, but more secure/sometimes required advanced properties: +mail.smtp.host : (localhost is default) mail.smtp.password : mail.smtp.port : mail.smtp.auth : true @@ -58,3 +83,9 @@ mail.smtp.auth : true JNDI name: jms/addressbook-user-activity-log Physical destination name: addressbookUserActivityLog Resource type: javax.jms.Queue + +9) From the WAR project, copy local_xx_XX.properties-dist to + local_de_DE.properties and local_en_US.properties. If for example your + application uses product_categories from jproduct-core, you may want to add + your custom i18n strings to the local properties files as this doesn't cause + any later merge conflicts as they are added to .gitignore file.