Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
Shane1
Contributor
Contributor

sun.misc.base64decoder Upgrade from Talend Open Studio 7.3.1 to TOS 8.0.1

Hi All

I am upgrading my TOS project to Talend 8.0.1 with the end goal of updating the log4j components to pass security compliance.

With the upgrade to TOS8 comes a required move to java11 also. This seem to cause issues with inbuilt components such as tFileArchive

When trying to build a job which has tFileArchive contained therein, it fails with the error "The import sun.misc.BASE64Decoder cannot be resolved"

Investigations show that the sun BASE64Decoder is no longer used in java11 and we should update to use java.util.Base64, however this is a component provided by Talend and I cannot see where it is actually using the current sun.misc.BASE64Decoder to actually replace it.

Has anybody else encountered this issue?

Labels (3)
1 Solution

Accepted Solutions
Anonymous
Not applicable

Hello @Shane Muir​ ,

I can't reproduce the issue in my side, it's not the issue of zip4j, I guess some of your custom routines code use sun.misc.BASE64Decoder, could you please go over all the routines under "Code" and check if some use this class?

 

0695b00000hrayKAAQ.png

View solution in original post

7 Replies
Anonymous
Not applicable

Hello @Shane Muir​ ,

I double check that tFileArchive  will not use sun.misc.BASE64Decoder. maybe some of your routines code in the job use it

please open the job and switch to the "Code" tab to find the compile error and figure out which use it and try to fix it.

 

Thanks

Aiming

 

Shane1
Contributor
Contributor
Author

Thanks for the reply Aiming

 

Unfortunately there is no routine code in the job. It is literally the one component of tFileArchive with parameterised values to point it at a directory and zip files in that directory.

 

0695b00000hrasWAAQ.png 

Under the code tab, there is no mention at all of sun.misc.BASE64Decoder, unless it is under another jar like zip4j.

Anonymous
Not applicable

Hello @Shane Muir​ ,

I can't reproduce the issue in my side, it's not the issue of zip4j, I guess some of your custom routines code use sun.misc.BASE64Decoder, could you please go over all the routines under "Code" and check if some use this class?

 

0695b00000hrayKAAQ.png

Shane1
Contributor
Contributor
Author

Oh I see.

 

So in the code I can see the following under the DataMasking system Routine:

 

// ============================================================================

//

// Copyright (C) 2006-2016 Talend Inc. - www.talend.com

//

// This source code is available under agreement available at

// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt

//

// You should have received a copy of the agreement

// along with this program; if not, write to Talend SA

// 9 rue Pages 92150 Suresnes, France

//

// ============================================================================

 

package routines;

 

import sun.misc.BASE64Decoder;

import sun.misc.BASE64Encoder;

 

 

So I guess I will need to update a Talend provided routine? Or is there some reason that my version of the routine would be different from the one provided by Talend?

 

Shane1
Contributor
Contributor
Author

Also I don't see why the DataMasking routine is part of the tFileArchive build.

Shane1
Contributor
Contributor
Author

So upon further investigations, I can confirm that the routine in question was coming in as part of the export from the previous project. Trying to see if I can remove those routines from the export.

Anonymous
Not applicable

I upload the DataMasking routine code after removing sun.misc.BASE64Decoder (please download it and change the extension to .java file)