These are the source of the GeneXus Standard Classes for Java, valid since GeneXus 16 Upgrade 4.
Branch | Build | Security |
---|---|---|
master | ||
beta |
Name | Description |
---|---|
common | Classes common to Android and Java |
gxcryptocommon | Classes common to Android and Java related to Cryptography |
gxmail | Classes related to mail handling |
java | Java standard classes, output is gxclassr.jar |
wrappercommon | Interfaces to encapsulate Java EE and Jakarta EE support, output is gxwrappercommon.jar |
wrapperjavax | Implement the interfaces defined in wrappercommon in Java EE, output is gxwrapperjavax.jar |
wrapperjakarta | Implement the interfaces defined in wrappercommon in Jakarta EE, output is gxwrapperjakarta.jar |
gxoffice | Formerly Java classes are now separated to be included only when using office. |
gxsearch | Formerly in Java classes are now separated to be included only when using search. |
gxandroidpublisher and javapns | They are necessary for when you have Push Notifications in your old implementation. These are projects that should disappear in the short term. |
android | The standard Android classes. Note that this is not the full runtime for Android, the full runtime can be created by using the Android Flexible Client project. |
gxexternalproviders | Implements service provider for IBM Cloud, Google, Azure, Amazon |
gxgeospatial | Geography data type implementation |
gxodata | OData access |
The dependencies between the projects are specified in each pom.xml within their directory.
- JDK 9 or greater
- Maven 3.6 or greater
In order to compile the java submodule, the SAP JCo (SAP Java Connector) needs to be installed in a Maven repository accessible while compiling (eg. the local Maven repository). This JAR can be downloaded from SAP's website (please note that a valid SAP Developer license may be required).
In order to install the connector into the Maven local repository, open a terminal and execute:
mvn install:install-file -DgroupId=com.sap.conn.jco -DartifactId=sapjco3 -Dversion=3.0.14 -Dpackaging=jar -Dfile=sapjco3.jar
(The required version of the JCo jar can be found in the POM file of the java submodule)
mvn compile
cd <specific project dir>
mvn compile
mvn package
cd java
mvn dependency:copy-dependencies
There's a PowerShell script called docker-run.ps1 that will spin up a container with the needed runtime to compile the sources.
Running the script will pull the maven:3.6.1-jdk-11-slim image an create a container with these files mounte under /usr/src. From there you can follow the instructions from above to compile and/or package the classes.
Once you compiled or packaged everything you needed, you can stop the container by typing 'exit' at the bash command prompt or executing docker stop java-maven
. Running the docker-run.ps1 script again will spin up the stopped container, so what had been downloaded in previous runs will still be there.
mvn site
(Android site is failing) (when processing xmlsec exception are raised but the process continue)
The site for each module can be found at \target\site\index.html
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.