I believe that you cannot load additional operators XML files in linux: the following code works in windows:
String myOperatorsPath = MyInit.class.getResource("/com/mycompany/rapidminer/MyOperators.xml").getPath();
logger.info("Attempting to load additional RapidMiner Operators at path {}.", myOperatorsPath); // This will be something like "file:/home/user/my.jar!/com/mycompany/rapidminer/MyOperators.xml"
OperatorService.setAdditionalOperatorDescriptors(myOperatorsPath);
logger.info("Initialising RapidMiner OperatorService.");
// Note: only need to initialise RapidMiner Operations for this app
OperatorService.init();
But it does not work in Linux because it appears that the operators path is split by RapidMiner's OperaterService according the the Linux file separator ":" and as such the file path above results in two files ("file" and "/home/user/my.jar!/com/mycompany/rapidminer/MyOperators.xml") which are clearly not files

OperatorService.init:
String[] additionalOperatorFileNames = additionalOperators.split(File.pathSeparator); // this is ":" on Linux, and ";" on Windows.
for (int i = 0; i < additionalOperatorFileNames.length; i++) {
...
}
I wonder if you could confirm this is a bug and either way provide a solution for loading additional operators from XML file located WITHIN a jar file. Just a reminder that the code does work on Windows, but not linux.
Thanks,
Jon