Как просмотреть список файлов JAR, которые загружены с моим приложением Scala - PullRequest
0 голосов
/ 11 ноября 2019

Мне нужно сделать проверку безопасности для моего приложения. Я написал этот код для загрузки всех зависимых JAR-файлов

barvaz := {
    buildStandalone.value
   // Define the paths to the ".ivy2" in the current-working-directory (localIvy) and in the 
   user's home
   val localIvy    = (baseDirectory in publishLocal).value / ".ivy2"
   val projectBoot = (baseDirectory in publishLocal).value / "project/boot"

   // Package everything in target/standalone.zip so it could easily be copied around
   val ivy2Files    = (localIvy ** "*.jar").get.map(_.getPath.replaceAll(".*\\.ivy2", ".ivy2"))
   val projectFiles = (projectBoot ** "*.jar").get.map(_.getPath.replaceAll(".*boot", "project/boot"))
   val jarNames = (ivy2Files ++ projectFiles).map(_.replaceAll("\\\\", "/")) //Seq("sbt-launch.jar") ++

   Packaging.downloadLibSourcesAndBins((resourceDirectory in Compile).value / "barvaz", jarNames)

   val downloadedJars = ((target.value / "barvaz") ** "*.jar").get.map(f => f -> f.getPath.replaceFirst(".*barvaz", ""))

   IO.zip(downloadedJars, new File(s"target/barvaz-${version.value}.zip"))

  "Done"
}

, однако теперь у меня есть дубликаты JAR-файлов из разных версий, например jettey из версий 4.0.0 и 4.0.1 и, конечно, некоторые тестирующие JAR-файлы. Какя могу проверить, какие файлы JAR действительно загружены?

1 Ответ

1 голос
/ 11 ноября 2019

Вы можете попробовать show fullClasspath в sbt.

Редактировать:

Если вы хотите получить симпатичный текстовый вывод (возможно, для подачи в некоторые другие программы), вы можете попробовать consoleProject изатем в scala repl оцените: println(fullClasspath.in(Compile).eval.map(_.data).mkString("\n")).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...