Right now, it uses ServiceLoader, which depends on a file in META-INF. Given that multiple files with the same name (full classpath of the provided interface) ultimately get bundled with the maven-assembly-plugin, the file got overwritten several time sover.
For that reason, the -dc option is now hacked to use a list hardcoded in the node bundle, which is wrong - it results in an exception after the -dc option is invoked if EverBEEN has been re-bundled to use a different implementation of Storage, for example.
Either maven-assembly-plugin needs to be told to append the file rather than overwrite it, or the way BeenServiceConfiguration is loaded needs to be changed not to use ServiceLoader.
Right now, it uses
ServiceLoader, which depends on a file inMETA-INF. Given that multiple files with the same name (full classpath of the provided interface) ultimately get bundled with themaven-assembly-plugin, the file got overwritten several time sover.For that reason, the
-dcoption is now hacked to use a list hardcoded in thenodebundle, which is wrong - it results in an exception after the-dcoption is invoked if EverBEEN has been re-bundled to use a different implementation ofStorage, for example.Either
maven-assembly-pluginneeds to be told to append the file rather than overwrite it, or the wayBeenServiceConfigurationis loaded needs to be changed not to useServiceLoader.