[HELP] Maven Dependency Resolution Failure in OpenELIS-Global

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
  1. 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:

  1. The oe-certs container is continuously restarting:
    40c80c7266ea   itechuw/certgen:main   "/bin/bash"   2 minutes ago   Restarting (0) 3 seconds ago   oe-certs
    
  2. 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:
  1. 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.
  2. 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.
  3. 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).
  4. 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