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!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

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
217 views