Я попытался сжать и запутать свою программу Scala/Java с помощью Proguard. Пока я использовал только scala-library.jar, все было хорошо, но когда я добавляю scala-swing.jar в свои jars, я получаю следующее:
Warning: scala.swing.ComboBox: can't find referenced class scala.swing.ComboBox$selection
Warning: scala.swing.ListView: can't find referenced class scala.swing.ListView$selection
Warning: scala.swing.ListView$selection$: can't find referenced class scala.swing.ListView$selection$indices
Warning: scala.swing.ListView$selection$: can't find referenced class scala.swing.ListView$selection$items
Warning: scala.swing.ListView$selection$$anon$7: can't find referenced class scala.swing.ListView$selection
Warning: scala.swing.ListView$selection$Indices: can't find referenced class scala.swing.ListView$selection
Warning: scala.swing.ListView$selection$indices$: can't find referenced class scala.swing.ListView$selection$indices
Warning: scala.swing.ListView$selection$indices$: can't find referenced class scala.swing.ListView$selection$indices
Warning: scala.swing.ListView$selection$indices$: can't find referenced class scala.swing.ListView$selection
Warning: scala.swing.ListView$selection$items$: can't find referenced class scala.swing.ListView$selection
Если я загляну в банку, то вижу, что таких файлов действительно нет - там scala.swing.ComboBox$selection$.class
вместо scala.swing.ComboBox$selection.class
. Переименование вручную не помогает - тогда он жалуется, что файл содержит класс с другим именем.
Итак, являются ли эти незаконные ссылки в scala-swing.jar? Или ошибка в Proguard?
Можете ли вы предложить обходной путь?
РЕДАКТИРОВАТЬ: я использую Scala 2.9.0.1 и Proguard 4.6.
EDIT2: Использование банок Scala 2.9.1.final не помогло.