Building a War with Java 17

Which IIQ version are you inquiring about?

Version 8.4

Share all details related to your problem, including any error messages you may have received.

I am in the process of building a war from a SSB. We are on version 8.4p1. Initially, I thought we could use Java 8 to build the war (saw a Compass article that Java 17 does not include Javax anymore), but when running that it “could not validate files”. However, I think there is an underlying issue. When running Java 8, I get the below error when creating the dtd file:

-generateDTD:
[echo] Generating d:\ssb-v7\build\extract/sailpoint.8.4p1.dtd…
[java] java.lang.UnsupportedClassVersionError: sailpoint/launch/Launcher has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0

Now, when I change my Java back to Java 17, I get the following error: “Unable to create javax script engine for javascript”.
Has anyone built a war file with java 17?

You ssb build script might be older, you can try to find and comment following from your build script (build.xml) and try build with java 17

<!--
<script language="javascript">
           <![CDATA[
             var version = parseFloat(project.getProperty('IIQVersion'));
             project.setProperty('pre6.2', version < 6.2 ? "true" : "false");
             project.setProperty('pre6.3', version < 6.3 ? "true" : "false");
             project.setProperty('pre6.4', version < 6.4 ? "true" : "false");
             project.setProperty('pre7.0', version < 7.0 ? "true" : "false");
             project.setProperty('pre7.1', version < 7.1 ? "true" : "false");
             project.setProperty('pre7.2', version < 7.2 ? "true" : "false");
           ]]>
        </script> -->

Hi @Alyson_Trad ,

Sailpoint 8.4 does not support Java 8 .Is there any specific reason for you to build this with Java8.

Thanks

DO I need to add a line for 8.4 at all or just comment out the older versions.
My SSB goes until 8.0.

I was using it since I read after Java 15 it no longer included the Javax needed to build the war. After debugging I now know that the class version is too high and Java 8 and we cannot use it.

You can comment out the part of the build.xml that uses JavaScript, as the other reply said. You can set those version-related properties directly in build.properties, but it’s pretty certain that if you’re just building a WAR, you aren’t using them anyway.

1 Like

Just commenting out should be fine

Use the 7.0.2 version of the SSB. I fixed that problem.

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.