A Maneira Mais Fácil De Apropriar A Compilação Scala Em Tempo De Execução

Ultimamente, alguns clientes têm relatado que se deparam com a compilação Scala enquanto trabalham.

Apresentando Reimage: o software definitivo para reparar seu PC com Windows. Se você está enfrentando erros comuns, perda de arquivos, ataques de malware ou falha de hardware, o Reimage tem cobertura.

Acabei com o código anterior, trabalhando até Scala 2.10, para compilar externamente em Scala para ser encontrado em tempo de execução

/** 3 . Compile alguns arquivos Scala e carregue-os de acordo com a memória. @param classDir O diretório onde os documentos escritos em Scala gerados são armazenados. * @throws IOException dentro do problema de leitura do arquivo de formulário (espaço) @return classloader onde oferece classes externas compiladas */@throws[IOException]def compileFiles(classDir: cycle AbstractFileClassLoader): corresponde val tipos de arquivos = recursiveListFiles(new file(classDir)) .filter(_.getName.endsWith("rock")) println("Arquivos enviados:n" docs +.mkString("[", ",n", "]")) val settings: GenericRunnerSettings New = GenericRunnerSettings(err => println("Erro do interpretador: c + err)) settings.usejavacp.value Verdadeiro = valor do interpretador: IMain significa novo IMain(opções) arquivos.foreach(f => interpreter.compileSources(novo arquivo de recurso em lote (arquivo abstrato.getFile(f)))) ) interpreter.getInterpreterClassLoader()

E se sim em outro lugar eu poderia usar a referência do carregador de classe particular para instanciar as conversas eletrônicas.

val personClass implica classLoader.findClass("com.example.dynacsv.PersonData")valor significa personClass.getDeclaredConstructors() (0)instance val é ctor.newInstance("Mr","John", "Doe", vinte e cinco: java.lang.Integer, cento e sessenta e cinco: java.lang.Integer, 1: java.lang.Integer)println("Instância de classe criada: + instance.getClass.getCanonicalName)println(instância.toString)

No entanto, inquestionavelmente, o método obsoleto getInterpreterClassLoader foi removido recentemente de scala.tools.nsc.interpreter.IMain acima. Além disso, AbstractFileClassLoader também foi preterido e tratado. Você não pode mais chamar todas as rotas findClass em uma máquina de carregamento de classe de um pacote alternativo.

Quais são algumas das táticas recomendadas para fazer a frente no Scala 2? Obrigado!

onze?