Skip to Main Content

ORDS, SODA & JSON in the Database

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Invalid or corrupt jarfile ords.war

oli77285Jun 4 2025

I'm trying to install ORDS with Tomcat in a container deployment to OpenShift but getting an error about the ords.war file being corrupt.

ORDS version: 24.4.0.345.1601.

Tomcat version: 9.0.105.

Java version: openjdk 21.0.7 2025-04-15 LTS.

These versions appear compatible, according to the installation checklist, although Tomcat images are only built with Temurin or Corretto Java and this has not been a problem with previous versions of ORDS (<22). https://docs.oracle.com/en/database/oracle/oracle-rest-data-services/24.4/ordig/installing-REST-data-services.html

Truncated Dockerfile, to show the commands causing the error:

# ords:24.4.0.345.1601 contains the contents of ords-24.4.0.345.1601.zip
FROM ords:24.4.0.345.1601 AS ords-builder
FROM tomcat:9.0.105-jdk21

#
# SECTION REMOVED
#

COPY --from=ords-builder /ords /u01/ords

RUN chgrp -R 0 /u01/ && \
	chmod -R g=u /u01/ && \
	chmod -R ug=rwx /u01/ords/bin/ && \
	chmod -R ug=rwx /u01/ords/ords.war

RUN ls -l /u01/ords/ords.war

RUN /u01/ords/bin/ords --verbose --config /u01/ords_conf config set jdbc.InitialLimit 10 && \
	/u01/ords/bin/ords --verbose --config /u01/ords_conf config set jdbc.MaxLimit 20 && \
	/u01/ords/bin/ords --verbose --config /u01/ords_conf install \
		--admin-user ${DBA_USER_NAME} \
		--db-hostname ${DB_HOSTNAME} \
		--db-port= {DB_PORT} \
		--db-servicename= {DB_SERVICENAME} \
		--feature-sdw true \
		--feature-rest-enabled-sql true \
		--feature-db-api true \
		--gateway-mode proxied \
		--gateway-user ${APEX_PUBLIC_USER_NAME} \
		--proxy-user
		--password-stdin <<EOF
${DBA_PASSWORD}
${APEX_PUBLIC_USER_PASSWORD}
EOF

RUN /u01/ords/bin/ords --verbose --config /u01/ords_conf war $CATALINA_HOME/webapps/ords.war

Truncated output:

STEP 18/26: RUN ls -l /u01/ords/ords.war
-rwxrwxr--. 1 root root 32505856 Jun 3 15:24 ords.war 
STEP 19/26: RUN /u01/ords/bin/ords --verbose --config /u01/ords_conf config set jdbc.InitialLimit 10 && /u01/ords/bin/ords --verbose --config /u01/ords_conf config set jdbc.MaxLimit 20 && /u01/ords/bin/ords --verbose --config /u01/ords_conf install --admin-user ${DBA_USER_NAME} --db-hostname ${DB_HOSTNAME} --db-port= {DB_PORT} --db-servicename= {DB_SERVICENAME} --feature-sdw true --feature-rest-enabled-sql true --feature-db-api true --gateway-mode proxied --gateway-user ${APEX_PUBLIC_USER_NAME} --proxy-user --password-stdin <<EOF
${DBA_PASSWORD}
${APEX_PUBLIC_USER_PASSWORD}
EOF
Error: Invalid or corrupt jarfile /u01/ords/ords.war

What does that even mean? I can open the ords.war file in 7-Zip, so it does not appear to be corrupt.

ORDS 24.4 was downloaded from https://www.oracle.com/technologies/appdev/rest-data-services-downloads-244.html

I can see there is a My Oracle Support article that covers this error for ORDS 24 but or team is not associated with a support identifier to read it: https://support.oracle.com/knowledge/Middleware/3063870_1.html.

The --verbose flag doesn't seem to do anything? How else can we debug this?

Thanks.

Comments
Post Details
Added on Jun 4 2025
3 comments
1,148 views