diff --git a/launcher-implementation/src/main/scala/xsbt/boot/Launch.scala b/launcher-implementation/src/main/scala/xsbt/boot/Launch.scala index 0ff537c..018513a 100644 --- a/launcher-implementation/src/main/scala/xsbt/boot/Launch.scala +++ b/launcher-implementation/src/main/scala/xsbt/boot/Launch.scala @@ -493,7 +493,8 @@ class Launch private[xsbt] ( entryPoint.asSubclass(AppMainClass) def newMain(): xsbti.AppMain = { if (ServerApplication.isServerApplication(entryPoint)) ServerApplication(this) - else if (AppMainClass.isAssignableFrom(entryPoint)) mainClass.newInstance + else if (AppMainClass.isAssignableFrom(entryPoint)) + mainClass.getDeclaredConstructor().newInstance() else if (PlainApplication.isPlainApplication(entryPoint)) PlainApplication(entryPoint) else throw new IncompatibleClassChangeError( diff --git a/launcher-implementation/src/main/scala/xsbt/boot/ServerApplication.scala b/launcher-implementation/src/main/scala/xsbt/boot/ServerApplication.scala index ba3753b..a1a71d3 100644 --- a/launcher-implementation/src/main/scala/xsbt/boot/ServerApplication.scala +++ b/launcher-implementation/src/main/scala/xsbt/boot/ServerApplication.scala @@ -12,7 +12,8 @@ class ServerApplication private (provider: xsbti.AppProvider) extends xsbti.AppM import ServerApplication._ override def run(configuration: xsbti.AppConfiguration): xsbti.MainResult = { - val serverMain = provider.entryPoint.asSubclass(ServerMainClass).newInstance + val serverMain = + provider.entryPoint.asSubclass(ServerMainClass).getDeclaredConstructor().newInstance() val server = serverMain.start(configuration) Console.err.println(s"${SERVER_SYNCH_TEXT}${server.uri}") server.awaitTermination()