My code compiles against scala 2.12.10 but has to run on scala 2.12.15. My code:
import import scala.tools.nsc.Settings
val settings = new Settings
settings.usejavacp.value = false
usejavacp
is throwing
java.lang.NoSuchMethodError: scala.tools.nsc.Settings.usejavacp()Lscala/tools/nsc/settings/AbsSettings$AbsSetting;
because Settings
is a StandardScalaSettings
where the definition of the class changed like so (only including relevant API):
2.12.10:
public interface scala.tools.nsc.settings.StandardScalaSettings {
// other APIs
public abstract scala.tools.nsc.settings.MutableSettings$BooleanSetting usejavacp();
}
to
2.12.15:
public interface scala.tools.nsc.settings.StandardScalaSettings {
// other APIs
public abstract scala.tools.nsc.settings.AbsSettings$AbsSetting usejavacp();
}
Is there any way I can make this work without upgrading my dependencies? Can I use reflection?