Как запустить JAR-приложение Scala, созданное NetBeans, из командной строки вне IDE? - PullRequest
3 голосов
/ 13 сентября 2010

Моя программа (написанная на Scala 2.8) прекрасно работает при запуске с помощью среды IDE NetBeans.Но когда я пытаюсь запустить его извне, используя «java-jar», он говорит «Исключение в потоке» main «java.lang.NoClassDefFoundError: scala / ScalaObject ...».Выкладываю все библиотеки, в т.ч.Scala Runtime внутри того же каталога, что и запускаемый контейнер, не помогает.Если я пытаюсь запустить банку с самим scala, он жалуется, что не может декодировать его как utf-8 (скорее всего, он ожидает источник scala, а не jar).Так как вообще запустить приложение Scala?

ОБНОВЛЕНИЕ: Для тех, кто приходит сюда позже с тем же вопросом, я бы порекомендовал прочитать комментарии под ответом Барджака (включая те, которые были скрыты последними), ответтам.VonC также дает несколько интересных ссылок на эту тему.

Ответы [ 2 ]

4 голосов
/ 13 сентября 2010

-jar и -classpath команды java являются взаимоисключающими: вы не можете сделать java -jar YourScalaProg.jar -classpath scala-library.jar

Если вы хотите запустить приложение с java -jar, тогда полный путь к классу долженбыть указан в разделе Class-Path манифеста банку.

Вы можете запустить свое приложение, используя только -classpath, например: java -classpath YourScalaProg.jar:scala-library.jar your.package.MainClass.

3 голосов
/ 13 сентября 2010

Используете ли вы scala-library.jar, как описано в Приключения с сообщением в блоге Scala ?

java -classpath scala-library.jar:. YourClass

или:

java -classpath scala-library.jar:yourApp.jar YourClass

Где YourClass быловаш scalac скомпилированный код Scala.

Вы найдете тот же scala-library.jar, который использовался в вопросе SO " Создание файла JAR из файла Scala " (или в сообщении в блоге " не очень элегантный способ"создания исполняемого файла jar из кода scala").

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