ATUALIZAÇÃO:
Aninhada na grande resposta aceita está a maneira de corrigir isso; ou seja, renomeie o método main
para outra coisa ou renomeie object Main
para outra coisa.
O conflito é um problema de insensibilidade a maiúsculas e minúsculas no sistema de arquivos Windows (ou MacOS), onde ter o mesmo valor sem distinção entre maiúsculas object
e minúsculas cria um problema.@main
Esperançosamente, o pessoal do IntelliJ Scala Plugin pode adicionar isso ao seu incrível "sistema de avisos automatizados", para que ninguém mais caia na toca do coelho do Scala 3.
ATUALIZAÇÃO Mais antigo: Após uma investigação mais aprofundada... Isso funciona no Scastie , sugerindo fortemente que é um problema do plug-in IntelliJ Scala ( tíquete Jetbrains YouTrack ).
Depois de criar um novo projeto Scala 3.3.3 no IntelliJ (2024.1.1) com o plug-in Scala (2024.1.20), meu Main.main
método "sintaxe sem suporte" está falhando com "Não foi possível encontrar ou carregar a classe principal org.public_domain.main".
Devo estar perdendo algo totalmente óbvio. No entanto, depois de uma hora mexendo nele, desisto. o que estou perdendo?
Aqui está o ÚNICO arquivo que criei em todo o projeto e no qual cliquei na pequena seta verde na bandeja esquerda do main
método para selecionar "Executar org.public_domain.main".
package org.public_domain
object Main:
@main def main(): Unit =
println("Hello World!")
SideNote: Estou percebendo que o IntelliJ não está se referindo corretamente ao org.public_domain.Main.main
método que estou executando.
Aliás, se eu comentar object Main:
(o que não quero fazer), tudo correrá bem.
IOW, isso funciona bem:
package org.public_domain
@main def main(): Unit =
println("Hello World!")