Звучит геморно, но будет круто если сработает. Может есть у кого нибудь пример такой штуки?
Читать полностью…Но конкрентно эту либу которая использует этот класс я могу выпилить (парсинг аргументов monovore.decline) но у меня стойкое подозрение что оно всё равно упадёт где нибудь потом так как у нас Коты 2.9 используются
У меня всё падает с Caused by: java.lang.NoSuchMethodError: cats.kernel.CommutativeSemigroup.$init$(Lcats/kernel/CommutativeSemigroup;)V
Так как спарк 3.2.1 хочет Котов 2.1.1...
в пятой редакции книги от Одерски наконец нашел решение, без shabang:
@main def m() =
println("Hello, world, from a script!")
вроде все так и сделал и на маке (scala3) и на линуксе (2) и права дал
скала в path присутствует,
path в шабан в начале явно даже прописал (как gpt предложил)
И на маке и на линукс ошибка одна и таже
В репле кстати без проблем работает…
Лан пошёл java учить, хотя одерски обещал что можно и без неё
Всем привет
Я новичок в изучении скалы открыл учебник одерски главу про запуск скала скриптов
Что-то я в тупике не пойму как можно и можно ли запустить просто
println (“hello”)
без компиляции?
Пробовал 2 способа
1) способ из учебника через добавление Шабанг в начало файла -> не помог пишет что illegal объявление
2) способ из реддита флаг -nc после вызова scala -> bad parameter пишет и тоже нелегальное объявление
Другой момент решил хотя бы через компиляцию запустить hello world
для этого
нашел свой полугодовой давности учебный проект который по видео курсу того же одерски делал, там вроде вся иерархия нужная есть, создал там в src этот скрипт, но не помню как компилировать!!
А чтобы пойти гуглить мне нужно понять сбт или металс я пользовал - не помню. в проекте и металс папка есть и сбт. Как во всем этом разобраться?
если нет, то можно просто завести новый модуль X со спарком, добавить туда зависимость от нужного модуля Y с котами, но заэксклюдить самих котов
но если планируется использовать какой-то код из Y, который использует котов, то может сломаться
Шейдинг тоже не вариант потому что мы используем Sbt-native-packager а не Sbt-assembly
Читать полностью…Привет! Ребята, кто знает можно ли завести Spark 3.x
имея в зависимостях Котов 2.9.х
?
Но вообще это абсолютно бесполезно. Стартовать jvm ради скрипта можно ради что ради смеха.
Хотите запустить scala код (с main
методом) - положите файл в отдельную папку и выполните в этой папке sbt run
.
$ chmod a+x script.scala
$ ./script.scala
Hello World!
$ cat script.scala
#!/usr/bin/env scala
println("Hello World!")
Привет, подскажите, пчм это компилится?
[macros.scala]:
class macros[T] extends StaticAnnotation
@macro[
String,
Double,
Etc
]
class Test
возможно, но нужно очень сильно захотеть и ВСЁ притянуть вручную (intransitive())
https://github.com/danslapman/sbt-source-jar-dependency/blob/master/build.sbt