The root cause of https://github.com/OpenLiberty/liberty-tools-intellij/issues/703 was a properties file that shared an identical path to a file of the same name from LSP4Jakarta. Direct functional testing may never have caught this issue because which resource is loaded depends on the ClassLoader implementation.
We can ensure that LTI does not conflict with classes / resources from its dependencies by developing a test which checks that none of the classes / resources that exist in LTI are also packaged in any of the dependencies that are bundled in LTI. This test should be done with the installable LTI plugin as the input. Before attempting to develop the infrastructure for such a test on our own, it would be worth checking if a solution is already available that we could utilize.
The root cause of https://github.com/OpenLiberty/liberty-tools-intellij/issues/703 was a properties file that shared an identical path to a file of the same name from LSP4Jakarta. Direct functional testing may never have caught this issue because which resource is loaded depends on the ClassLoader implementation.
We can ensure that LTI does not conflict with classes / resources from its dependencies by developing a test which checks that none of the classes / resources that exist in LTI are also packaged in any of the dependencies that are bundled in LTI. This test should be done with the installable LTI plugin as the input. Before attempting to develop the infrastructure for such a test on our own, it would be worth checking if a solution is already available that we could utilize.