Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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?
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?
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
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.
Under the code tab, there is no mention at all of sun.misc.BASE64Decoder, unless it is under another jar like zip4j.
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?
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?
Also I don't see why the DataMasking routine is part of the tFileArchive build.
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.
I upload the DataMasking routine code after removing sun.misc.BASE64Decoder (please download it and change the extension to .java file)