как добавить tools.jar как «динамическую зависимость» в sbt. Является ли это возможным?

мне нужно использовать tools.jar в моем проекте, но нет особого смысла упаковывать его в jar, так как у пользователя он уже есть. Итак, возможно ли использовать его в качестве «динамической зависимости»? Я хочу, чтобы мой кодcompile используяtools.jar файл найден вmy JAVA_HOME, но я не хочу, чтобы он был упакован вместе с ним. я могу убедиться, что добавить его в classpath с двойной активацией во время выполнения сuser's JAVA_HOME используется вместо например:

object Main1 extends App {
    val myjar = Main1.getClass.getProtectionDomain.getCodeSource.getLocation.getFile
    val tools = System.getProperty("java.home").dropRight(3)+"lib/tools.jar" // drop "jre"
    val arguments = Array("java", "-cp", myjar+":"+tools, "me.myapp.Main2") ++ args
    val p = Runtime.getRuntime.exec(arguments)
    p.getErrorStream.close
    p.getOutputStream.close
}

К вашему сведению: я упаковываю приложение, используя плагин сборки, в отдельный файл jar.

EDIT:

уродливым решением было бы скопироватьtools.jar файл в каталог lib в моем проекте, и добавьте:

excludedJars in assembly <<= (fullClasspath in assembly) map { cp => 
    cp filter {_.data.getName == "tools.jar"}
}

вbuild.sbt это можно сделать более элегантно, без копирования файла JAR? было бы намного проще переключать JVM и использовать & quot; право & quot;tools.jar файл автоматически ...

Ответы на вопрос(3)

Ваш ответ на вопрос