Hey everyone, I’m facing an issue while building the OpenELIS-Global project using Maven on my macOS M1. The build is failing due to missing dependencies, and I’m not sure how to resolve it.
My Environment Setup:
- OS: macOS M1
- Java Version: OpenJDK 11.0.26 (installed via Homebrew)
- Docker Version: 27.5.1
- Apache Maven 3.9.9
Issue Details:
When I run mvn clean install -DskipTests -U
, I get the following errors:
- Maven fails to resolve dependencies for
org.itech:dataexport-api:jar:0.0.0.9
and org.itech:dataexport-core:jar:0.0.0.9
.
- The dependencies are not found in:
- Jaspersoft Third-Party Repository
- Shibboleth Repository
- Maven Central Repository
Error Snippet:
[ERROR] Could not find artifact org.itech:dataexport-api:jar:0.0.0.9 in jaspersoft-third-party (https://jaspersoft.jfrog.io/jaspersoft/third-party-ce-artifacts/)
[ERROR] Could not find artifact org.itech:dataexport-api:jar:0.0.0.9 in shibboleth (https://build.shibboleth.net/maven/releases/)
[ERROR] Could not find artifact org.itech:dataexport-api:jar:0.0.0.9 in central (https://repo.maven.apache.org/maven2)
[ERROR] Could not find artifact org.itech:dataexport-core:jar:0.0.0.9 in jaspersoft-third-party (https://jaspersoft.jfrog.io/jaspersoft/third-party-ce-artifacts/)
[ERROR] Could not find artifact org.itech:dataexport-core:jar:0.0.0.9 in shibboleth (https://build.shibboleth.net/maven/releases/)
[ERROR] Could not find artifact org.itech:dataexport-core:jar:0.0.0.9 in central (https://repo.maven.apache.org/maven2)
``
Any help or suggestions would be greatly appreciated! 🚀
can you follow these instructions here on the Readme
cd OpenELIS-Global-2
git submodule update --init --recursive
cd dataexport
mvn clean install -DskipTests
1 Like
@Moses_Mutesasira I followed the above steps and ran it again, but I encountered this issue:
should i need to clean and restart everything again?
Failed to execute goal on project openelisglobal: Could not resolve dependencies for project org.openelisglobal:openelisglobal:war:3.2.0.0
[ERROR] dependency: org.itech:dataexport-api:jar:0.0.0.9 (compile)
[ERROR] org.itech:dataexport-api:jar:0.0.0.9 was not found in https://jaspersoft.jfrog.io/jaspersoft/third-party-ce-artifacts/ during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of jaspersoft-third-party has elapsed or updates are forced
[ERROR] org.itech:dataexport-api:jar:0.0.0.9 was not found in https://build.shibboleth.net/maven/releases/ during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of shibboleth has elapsed or updates are forced
[ERROR] org.itech:dataexport-api:jar:0.0.0.9 was not found in https://repo.maven.apache.org/maven2 during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of central has elapsed or updates are forced
[ERROR] dependency: org.itech:dataexport-core:jar:0.0.0.9 (compile)
[ERROR] org.itech:dataexport-core:jar:0.0.0.9 was not found in https://jaspersoft.jfrog.io/jaspersoft/third-party-ce-artifacts/ during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of jaspersoft-third-party has elapsed or updates are forced
[ERROR] org.itech:dataexport-core:jar:0.0.0.9 was not found in https://build.shibboleth.net/maven/releases/ during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of shibboleth has elapsed or updates are forced
[ERROR] org.itech:dataexport-core:jar:0.0.0.9 was not found in https://repo.maven.apache.org/maven2 during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of central has elapsed or updates are forced
@Moses_Mutesasira
When I run this command, I get multiple errors and failures:
git submodule update --init --recursive
I also see this failure in the logs:
[INFO] Data Export Core ................................... FAILURE [ 2.256 s]
Then, when I try to start the services with Docker Compose:
docker compose up -d
I get warnings and several errors:
WARN[0000] /Users/nayakdivyanshu/Desktop/TON_618/openSource/OpenELIS-Global-2/docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion
[+] Running 5/6
✘ fhir.openelis.org Error context canceled 3.4s
✘ oe.openelis.org Error context canceled 3.4s
✘ database Error context canceled 3.4s
✘ certs Error context canceled 3.4s
⠼ frontend.openelis.org Pulling 3.4s
✘ proxy Error context canceled 3.4s
no matching manifest for linux/arm64/v8 in the manifest list entries
@divyanshu_NYK , Follow these steps in an order, i hope you will be able to do the setup. Let me know if you are still facing any issues.
Fork the OpenELIS-Global Repository and clone the forked repo.
git clone https://github.com/username/OpenELIS-Global-2.git
innitialize and build sub modules
cd OpenELIS-Global-2
git submodule update --init --recursive
cd dataexport
mvn clean install -DskipTests
Navigate back to the repository directory:
cd ..
Build the War file
mvn clean install -DskipTests
Start the containers to mount the locally compiled artifacts
docker-compose -f dev.docker-compose.yml up -d
- Note : For Reflecting Local changes in the Running Containers ;
- Any Changes to the Front-end React Source Code will be directly Hot Reloaded in the UI
- For changes to the Back-end Java Source code
- Run the maven build again to re-build the War file
mvn clean install -DskipTests
Recreate the Openelis webapp container
docker-compose -f dev.docker-compose.yml up -d --no-deps --force-recreate oe.openelis.org
@atulyadav745 Thanks for your response!
I followed your steps, and everything worked fine up until this command:
cd dataexport
However, when I ran the following command:
mvn clean install -DskipTests
I encountered multiple errors. Here’s the output:
NAYAKs-Air:dataexport nayakdivyanshu$ mvn clean install -DskipTests
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] Data Export [pom]
[INFO] Data Export Core [jar]
[INFO] Data Export API [jar]
[INFO]
[INFO] ------------------------< org.itech:dataexport >------------------------
[INFO] Building Data Export 0.0.0.9 [1/3]
[INFO] from pom.xml
[INFO] --------------------------------[ pom ]---------------------------------
[INFO]
[INFO] --- clean:3.2.0:clean (default-clean) @ dataexport ---
[INFO]
[INFO] --- install:3.1.2:install (default-install) @ dataexport ---
[INFO] Installing /Users/nayakdivyanshu/Desktop/TON_618/openSource/OpenELIS-Global-2/dataexport/pom.xml to /Users/nayakdivyanshu/.m2/repository/org/itech/dataexport/0.0.0.9/dataexport-0.0.0.9.pom
[INFO]
[INFO] ---------------------< org.itech:dataexport-core >----------------------
[INFO] Building Data Export Core 0.0.0.9 [2/3]
[INFO] from dataexport-core/pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- clean:3.2.0:clean (default-clean) @ dataexport-core ---
[INFO]
[INFO] --- resources:3.3.1:resources (default-resources) @ dataexport-core ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /Users/nayakdivyanshu/Desktop/TON_618/openSource/OpenELIS-Global-2/dataexport/dataexport-core/src/main/resources
[INFO]
[INFO] --- compiler:3.8.0:compile (default-compile) @ dataexport-core ---
[INFO] Changes detected - recompiling the module!
[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
[INFO] Compiling 12 source files to /Users/nayakdivyanshu/Desktop/TON_618/openSource/OpenELIS-Global-2/dataexport/dataexport-core/target/classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[INFO] 79 errors
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for Data Export 0.0.0.9:
[INFO]
[INFO] Data Export ........................................ SUCCESS [ 0.233 s]
[INFO] Data Export Core ................................... FAILURE [ 1.732 s]
[INFO] Data Export API .................................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.044 s
[INFO] Finished at: 2025-03-01T15:26:32+05:30
[INFO] ------------------------------------------------------------------------
NAYAKs-Air:dataexport nayakdivyanshu$ java -version
mvn -version
openjdk version "11.0.26" 2025-01-21
OpenJDK Runtime Environment Homebrew (build 11.0.26+0)
OpenJDK 64-Bit Server VM Homebrew (build 11.0.26+0, mixed mode)
Apache Maven 3.9.9 (8e8579a9e76f7d015ee5ec7bfcdc97d260186937)
Maven home: /opt/homebrew/Cellar/maven/3.9.9/libexec
Java version: 11.0.26, vendor: Homebrew, runtime: /opt/homebrew/Cellar/openjdk@11/11.0.26/libexec/openjdk.jdk/Contents/Home
Default locale: en_IN, platform encoding: UTF-8
OS name: "mac os x", version: "14.5", arch: "aarch64", family: "mac"
NAYAKs-Air:dataexport nayakdivyanshu$
class file has wrong version 61.0, should be 55.0
Could you please help me figure out what might be causing this issue?
Might this issue be related to my current Java version? Should I use Java 17 instead of Java 11?
@atulyadav745 @Moses_Mutesasira
When I use Java 21 and run the command:
cd dataexport
mvn clean install -DskipTests
the compilation is successful. But when I go one directory up (cd ..
) and run the same command again:
mvn clean install -DskipTests
I get multiple errors, including 100 compilation errors, and the build fails.
The error message says:
Compilation failure: cannot access jakarta.persistence.Column
Class file has wrong version 61.0, should be 55.0
It seems like a Java version compatibility issue. The README mentions using Java 11, but I was using Java 21. Could this be the reason for the errors?"
WARN[0000] /Users/nayakdivyanshu/desktop/TON_618/openSource/OpenELIS-Global-2/dev.docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion
[+] Running 2/19
⠧ database [⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀] Pulling 3.7s
⠏ a9fe95647e78 Pulling fs layer 0.9s
⠏ d643b7c3b7a9 Pulling fs layer 0.9s
⠏ 3a7cdb606eca Pulling fs layer 0.9s
⠏ cb07c5e066e1 Waiting 0.9s
⠏ 192e6a1c4d81 Waiting 0.9s
⠏ 1b081673d3b2 Waiting 0.9s
⠏ 69dbf3f8dd64 Waiting 0.9s
⠏ ee6612d749c3 Waiting 0.9s
⠏ c01235e2b759 Waiting 0.9s
⠏ ebdca8197412 Waiting 0.9s
⠏ ad787b48d041 Waiting 0.9s
⠏ d3ac9a132b02 Waiting 0.9s
⠏ a9773ff1286c Waiting 0.9s
✘ oe.openelis.org Error context canceled 3.7s
✘ fhir.openelis.org Error context canceled 3.7s
⠧ certs Pulling 3.7s
⠧ proxy Pulling 3.7s
⠧ frontend.openelis.org Pulling 3.7s
no matching manifest for linux/arm64/v8 in the manifest list entries
NAYAKs-Air:OpenELIS-Global-2 nayakdivyanshu$
Yes, i think this is bcz of the mismatch between the Java version
- Version 61.0 corresponds to Java 17.
- Version 55.0 corresponds to Java 11.
Try upgrading to Java 17 or Java 21(the latest)
AND
Please have a look on this thread about some important upgrades done recently. The readme file may not have been updated.
1 Like
@divyanshu_NYK i see that you are using Java 11 Upgrade to java 21 and make your environment point to java 21
follow this thread for more information
1 Like
@Agaba_Derrick_Junior @atulyadav745
I’ve successfully built my project with Java 21, but I ran into a new issue with my current dev.docker-compose.yml file. Here’s what happened:
When I ran:
docker compose -f dev.docker-compose.yml up -d
I received this warning and error:
WARN[0000] /path/to/dev.docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion
...
no matching manifest for linux/arm64/v8 in the manifest list entries
To resolve this, I made some changes in the .yml
file. Below is the updated configuration:
# Removed the obsolete version line
services:
certs:
container_name: oe-certs
image: itechuw/certgen:main
platform: linux/amd64 # Specify platform
restart: always
environment:
- KEYSTORE_PW="kspass"
- TRUSTSTORE_PW="tspass"
networks:
- default
volumes:
- key_trust-store-volume:/etc/openelis-global
- keys-vol:/etc/ssl/private/
- certs-vol:/etc/ssl/certs/
database:
container_name: openelisglobal-database
image: postgres:14.4
ports:
- "15432:5432"
restart: always
env_file:
- ./volume/database/database.env
volumes:
- ./volume/database/data:/var/lib/postgresql/data # Persist database
- ./volume/database/dbInit:/docker-entrypoint-initdb.d # Run initialization scripts
networks:
- default
healthcheck:
test: ["CMD", "pg_isready", "-q", "-d", "clinlims", "-U", "clinlims"]
timeout: 45s
interval: 10s
retries: 10
oe.openelis.org:
container_name: openelisglobal-webapp
image: itechuw/openelis-global-2-dev:develop
platform: linux/amd64 # Specify platform
depends_on:
- database
- certs
ports:
- "8080:8080"
- "8443:8443"
restart: always
networks:
default:
ipv4_address: 172.20.1.121
environment:
- DEFAULT_PW=adminADMIN!
- TZ=Africa/Nairobi
# Pass environment variables as CATALINA_OPTS since context.xml doesn’t pick them up directly
- CATALINA_OPTS= -Ddatasource.url=jdbc:postgresql://database:5432/clinlims -Ddatasource.username=clinlims
volumes:
- key_trust-store-volume:/etc/openelis-global
- ./volume/plugins/:/var/lib/openelis-global/plugins
- ./volume/tomcat/oe_server.xml:/usr/local/tomcat/conf/server.xml
- ./target/OpenELIS-Global.war:/usr/local/tomcat/webapps/OpenELIS-Global.war
- ./volume/properties/SystemConfiguration.properties:/var/lib/openelis-global/properties/SystemConfiguration.properties
- lucene_index-vol:/var/lib/lucene_index
secrets:
- source: datasource.password
- source: common.properties
fhir.openelis.org:
container_name: external-fhir-api
image: itechuw/openelis-global-2-fhir:develop
platform: linux/amd64 # Specify platform
depends_on:
- database
- certs
ports:
- "8081:8080"
- "8444:8443"
networks:
- default
restart: always
environment:
SPRING_CONFIG_LOCATION: file:///run/secrets/hapi_application.yaml
TZ: Africa/Nairobi
JAVA_OPTS: "-Djavax.net.ssl.trustStore=/etc/openelis-global/truststore \
-Djavax.net.ssl.trustStorePassword=tspass \
-Djavax.net.ssl.trustStoreType=pkcs12 \
-Djavax.net.ssl.keyStore=/etc/openelis-global/keystore \
-Djavax.net.ssl.keyStorePassword=kspass \
-Djavax.net.ssl.keyStoreType=pkcs12"
volumes:
- key_trust-store-volume:/etc/openelis-global
- ./volume/tomcat/hapi_server.xml:/opt/bitnami/tomcat/conf/server.xml
secrets:
- source: hapi_application.yaml
frontend.openelis.org:
image: itechuw/openelis-global-2-frontend-dev:develop
container_name: openelisglobal-front-end
platform: linux/amd64 # Specify platform
networks:
- default
volumes:
- './frontend/src:/app/src'
- './frontend/public:/app/public'
environment:
- CHOKIDAR_USEPOLLING=true
tty: true
proxy:
image: itechuw/openelis-global-2-proxy:develop
container_name: openelisglobal-proxy
platform: linux/amd64 # Specify platform
ports:
- 80:80
- 443:443
volumes:
- certs-vol:/etc/nginx/certs/
- keys-vol:/etc/nginx/keys/
- ./volume/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
networks:
- default
restart: unless-stopped
depends_on:
- certs
secrets:
datasource.password:
file: ./volume/properties/datasource.password
common.properties:
file: ./volume/properties/common.properties
hapi_application.yaml:
file: ./volume/properties/hapi_application.yaml
networks:
default:
driver: bridge
ipam:
config:
- subnet: 172.20.1.0/24
volumes:
db-data:
key_trust-store-volume:
certs-vol:
keys-vol:
lucene_index-vol:
After making these changes, the Docker network and volumes were created successfully. However, I now face a couple of new issues:
- The oe-certs container is continuously restarting:
40c80c7266ea itechuw/certgen:main "/bin/bash" 2 minutes ago Restarting (0) 3 seconds ago oe-certs
- When I try to access the server via https://localhost:8443/OpenELIS-Global, the browser shows:
This site can’t be reached
localhost took too long to respond.
ERR_TIMED_OUT
Bad Request
This combination of host and port requires TLS.
Please help me,How can I solve this issue? Any insights would be greatly appreciated
@Moses_Mutesasira, please help me.for the above issue which i mentioned.
I am facing the same issue,
I have been working on setting up and building OpenELIS-Global, but I am facing dependency resolution errors for:
org.itech:dataexport-api:jar:0.0.0.9
org.itech:dataexport-core:jar:0.0.0.9
Steps I Have Taken So Far:
- Checked Local Repository – I searched in
~/.m2/repository/org/itech/
and found only .lastUpdated
files, indicating that Maven attempted to download the dependencies but failed.
- Examined Configured Repositories – The build is trying to fetch these artifacts from
https://jaspersoft.jfrog.io/jaspersoft/third-party-ce-artifacts/
, but I manually checked the repository and couldn’t find them.
- Tried Manual Installation – I attempted to install the dependencies manually using
mvn install:install-file
, but I couldn’t find the required JARs anywhere on my system (find ~/ -name "dataexport-api-0.0.0.9.jar"
returned nothing).
- Re-ran Maven with Debugging – I used the
-X
flag to check detailed logs, confirming that the issue is due to missing artifacts.
At this point, I believe these dependencies might not be publicly available or need to be fetched from a different repository. Could you please advise on how to obtain them? If they are private or need manual installation, I’d appreciate any guidance on how to proceed.
Thank you for your time and support!
@Moses_Mutesasira @Herbert @caseyi @calebslane