{"id":30590554,"url":"https://github.com/genexuslabs/javaclasses","last_synced_at":"2025-08-29T16:40:33.217Z","repository":{"id":37549258,"uuid":"171533715","full_name":"genexuslabs/JavaClasses","owner":"genexuslabs","description":"GeneXus Standard Classes for Java and Android generators.","archived":false,"fork":false,"pushed_at":"2025-08-29T00:21:14.000Z","size":10553,"stargazers_count":29,"open_issues_count":25,"forks_count":17,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-08-29T02:43:35.431Z","etag":null,"topics":["for-genexus-web-app","generator","genexus","java","maven","standard-library"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/genexuslabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"securityapicommons/pom.xml","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-02-19T19:12:51.000Z","updated_at":"2025-08-28T21:08:55.000Z","dependencies_parsed_at":"2022-07-13T12:20:37.256Z","dependency_job_id":"b1ca90bb-7e44-46f6-946d-1aeeb057dab8","html_url":"https://github.com/genexuslabs/JavaClasses","commit_stats":null,"previous_names":[],"tags_count":34,"template":false,"template_full_name":null,"purl":"pkg:github/genexuslabs/JavaClasses","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genexuslabs%2FJavaClasses","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genexuslabs%2FJavaClasses/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genexuslabs%2FJavaClasses/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genexuslabs%2FJavaClasses/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/genexuslabs","download_url":"https://codeload.github.com/genexuslabs/JavaClasses/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genexuslabs%2FJavaClasses/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272636403,"owners_count":24967983,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-29T02:00:10.610Z","response_time":87,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["for-genexus-web-app","generator","genexus","java","maven","standard-library"],"created_at":"2025-08-29T16:40:29.899Z","updated_at":"2025-08-29T16:40:33.154Z","avatar_url":"https://github.com/genexuslabs.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GeneXus Standard Classes for Java\nThese are the source of the GeneXus Standard Classes for Java, valid since GeneXus 16 Upgrade 4.\n\n## Repo Status\n| Branch | Build | Security\n|---|---|---\n|master |[![Build](https://github.com/genexuslabs/JavaClasses/actions/workflows/Build.yml/badge.svg)](https://github.com/genexuslabs/JavaClasses/actions/workflows/Build.yml)|[![CodeQL](https://github.com/genexuslabs/JavaClasses/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/genexuslabs/JavaClasses/actions/workflows/codeql-analysis.yml)\n|beta   |[![Build](https://github.com/genexuslabs/JavaClasses/actions/workflows/Build.yml/badge.svg?branch=beta)](https://github.com/genexuslabs/JavaClasses/actions/workflows/Build.yml)|[![CodeQL](https://github.com/genexuslabs/JavaClasses/actions/workflows/codeql-analysis.yml/badge.svg?branch=beta)](https://github.com/genexuslabs/JavaClasses/actions/workflows/codeql-analysis.yml)\n\n## Modules\n\n| Name                           | Description\n|--------------------------------|---\n| common                         | Classes common to Android and Java\n| gxcryptocommon                 | Classes common to Android and Java related to Cryptography\n| gxmail                         | Classes related to mail handling\n| java                           | Java standard classes,  output is gxclassr.jar\n| wrappercommon                  | Interfaces to encapsulate Java EE and Jakarta EE support,  output is gxwrappercommon.jar\n| wrapperjavax                   | Implement the interfaces defined in wrappercommon in Java EE,  output is gxwrapperjavax.jar\n| wrapperjakarta                 | Implement the interfaces defined in wrappercommon in Jakarta EE,  output is gxwrapperjakarta.jar\n| gxoffice                       | Formerly Java classes are now separated to be included only when using office. \n| gxsearch                       | Formerly in Java classes are now separated to be included only when using search.\n| 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.\n| 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**.\n| gxexternalproviders | Implements service provider for IBM Cloud, Google, Azure, Amazon\n| gxgeospatial | Geography data type implementation\n| gxodata | OData access\n| securityapicommons | SecurityAPI's common module\n| gxcryptography | SecurityAPI's GeneXusCryptography module\n| gxjwt | SecurityAPI's GeneXusJWT module\n| gxxmlsignature | SecurityAPI's GeneXusXmlSignature module\n| gxftps | SecurityAPI's GeneXusFTPS module\n| gxsftp | SecurityAPI's GeneXusSFTP module\n| gamutils | GAM external object with utilities\n| gamtotp                        | GAM external object for RFC6238 implementation\n\nThe dependencies between the projects are specified in each pom.xml within their directory.\n\n# How to compile\n\n## Requirements\n- JDK 9 or greater\n- Maven 3.6 or greater\n\nIn order to compile the *java* submodule, the [SAP JCo (SAP Java Connector)](https://support.sap.com/en/product/connectors/jco.html) 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).\n\nIn order to install the connector into the Maven local repository, open a terminal and execute:\n``` powershell\nmvn install:install-file -DgroupId=com.sap.conn.jco -DartifactId=sapjco3 -Dversion=3.0.14 -Dpackaging=jar -Dfile=sapjco3.jar\n```\n(The required version of the JCo jar can be found in [the POM file of the java submodule](https://github.com/genexuslabs/JavaClasses/blob/master/java/pom.xml))\n\n# Instructions\n\n## How to build all projects?\n- ```mvn compile```\n\n## How to build a specific project?\n- ```cd \u003cspecific project dir\u003e```\n- ```mvn compile```\n\n## How to package all or some project?\n- ```mvn package```\n\n## How to copy dependencies jar files to the dependency directory?\n- ```cd java```\n- ```mvn dependency:copy-dependencies```\n\n### Bulid with Docker container.\nThere's a PowerShell script called [docker-run.ps1](./docker-run.ps1) that will spin up a container with the needed runtime to compile the sources.\nRunning the script will pull the [maven:3.6.1-jdk-11-slim](https://hub.docker.com/_/maven?tab=description) 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.  \nOnce 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.\n\n## How to create a Site with the specification of each module?\n- ```mvn site```\n\n (Android site is failing)\n (when processing xmlsec exception are raised but the process continue)\n\n The site for each module can be found at \u003cproject dir\u003e\\target\\site\\index.html\n\n  ![Site](site.png)\n  \n## License\n\n    Licensed under the Apache License, Version 2.0 (the \"License\");\n    you may not use this file except in compliance with the License.\n    You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n    Unless required by applicable law or agreed to in writing, software\n    distributed under the License is distributed on an \"AS IS\" BASIS,\n    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n    See the License for the specific language governing permissions and\n    limitations under the License.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgenexuslabs%2Fjavaclasses","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgenexuslabs%2Fjavaclasses","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgenexuslabs%2Fjavaclasses/lists"}