Acabei de ler o código de amostra do Scala no site do Scala, mas encontrei um erro irritante ao tentar executá-lo.
Aqui está o código: http://www.scala-lang.org/node/45 . Ao executá-lo no Eclipse, recebi esta mensagem 'Editor não contém um tipo principal' que o impede de ser executado.
Preciso fazer alguma coisa ... ou seja, dividir esse arquivo em vários arquivos ou o quê?
No Eclipse, certifique-se de adicionar sua pasta de origem nas propriedades do projeto -> caminho de construção java -> origem. Caso contrário, a função main () pode não ser incluída em seu projeto.
fonte
Você deve certificar-se de que seus arquivos .java estão na pasta .src no eclipse. Eu tive exatamente o mesmo problema até que eu descobri.
fonte
Uma maneira mais simples é fechar o projeto e reabri-lo.
fonte
Apenas certifique-se de que a pasta em que você trabalha foi adicionada ao caminho de construção:
right-click
sua pasta ->build Path
->Use as source Folder
e agora deve encontrar
main
nele.fonte
Eu tive o mesmo problema. Eu tentei todo tipo de coisa. E eu vim saber que
Coisas que eu fiz:
Propriedades do projeto >> Caminho de construção Java >> Fonte
Isso resolveu o erro.
fonte
Você pode tentar executar a função principal na barra lateral de contorno do eclipse.
fonte
<project root> [in Tut_RMI] does not exit
. (O nome do projeto éTut_RMI
) Este nome de projeto é inválido?*** seu projeto em eclipse. Às vezes, há problemas de ligação. Isso resolveu meu problema
fonte
Uma solução rápida:
Primeiro, exclua o pacote: clique com o botão direito no pacote de origem >> Caminho de construção >> Excluir
Em seguida, inclua-o de volta: Clique com o botão direito no pacote de origem >> Caminho de construção >> Incluir
fonte
O que você deve fazer é criar um projeto Java, mas certifique-se de colocar este arquivo no arquivo de pacote desse projeto, caso contrário, você encontrará o mesmo erro.
fonte
Esse código é válido. Você já tentou compilá-lo manualmente usando o scalac? Além disso, você chamou seu arquivo de "livro de endereços", todo em letras minúsculas, como o nome do objeto?
Além disso, descobri que o Eclipse, por algum motivo, definiu a classe principal como ".addressbook" em vez de "addressbook".
fonte
você deve criar seu arquivo por
selecionando no lado direito você encontrará o nome do seu arquivo,
embaixo dela, você encontrará a pasta src, clique com o botão direito e selecione -> opção de classe
seu seu arquivo deve ser criado
fonte
Certifique-se de que seu arquivo .java esteja presente no pacote str ou em algum outro pacote. Se o arquivo java com a função principal estiver fora de todos os pacotes, esse erro será gerado.
fonte
Se tiver enfrentado um problema semelhante, resolva isso clicando com o botão direito do mouse no método principal na visualização do esboço e execute como um aplicativo Java.
fonte
Eu também tive esse problema. A solução é garantir que o eclipse tenha criado o projeto como um projeto Java. Basta criar um novo projeto Java e copiar sua classe para a pasta src (e importar as dependências eventuais). Isto deve resolver o problema.
fonte
A resposta correta é: a biblioteca Scala precisa antes da biblioteca JRE no buildpath.
Vá para Java Buildpath> Order and Export e mova a biblioteca Scala para o topo
fonte
Tive esse problema com um projeto Java que importei do sistema de arquivos (no Eclipse Helios). Aqui está uma dica: o código src não parece ter sido compilado, pois nenhum diretório "bin" apareceu.
Tive que criar um projeto Java do zero (usando o assistente) e, em seguida, comparar os
.project
arquivos dos projetos que não estavam funcionando e os que estavam funcionando.O projeto que fornece "Editor não contém um tipo principal" tinha isso como "buildSpec" no arquivo .project:
Mas o projeto de trabalho tinha isso como "buildSpec":
Copiei isso e o projeto importado funcionou.
Eu sei que minha resposta é para Java, mas o mesmo pode ser o problema para seu projeto Scala.
fonte
Pode ser que o arquivo que você criou esteja fora da pasta src (origem). Tentar chamar o objeto de classe (do arquivo localizado na pasta src) do arquivo .java fora da pasta de origem resulta no mesmo erro. Copie o arquivo .java para a pasta de origem e crie-o. O erro desaparecerá.
fonte
Eu tive o mesmo problema. Tive a classe principal fora do pacote src, em outra pasta. Eu mudei para uma pasta correta e resolvi
fonte
execute "eclipse -clean -refresh" na linha de comando. Isso corrigiu o problema para mim quando todas as outras soluções falharam.
fonte
Este pode ser o problema com o caminho Java Build. Experimente os passos abaixo:
Isto deve resolver o problema.
fonte
Se for um projeto maven, verifique se o arquivo java foi criado em src / main / java
Se você não estiver conseguindo, altere o caminho JRE e crie os arquivos java na estrutura de pastas acima
fonte
Para mim, no Eclipse 3.6, esse problema ocorre quando meu método principal não é público. Eu causei o problema por ter um método principal como este:
O dubugger não conseguiu detectar isso sozinho. Estou muito surpreso que Eclipse tenha esquecido isso.
fonte
No pior caso - crie o projeto mais uma vez com todas as importações desde o início. No meu caso, nenhuma das outras opções funcionou. Este tipo de erro sugere que há um erro nas configurações do projeto. Uma vez consegui resolvê-lo, mas assim que novos desenvolvimentos foram feitos, o erro voltou. Recriar tudo desde o início me ajudou a entender e otimizar alguns links, e agora estou confiante de que funciona corretamente.
fonte
Siga as etapas abaixo:
fonte
Arquivo >> Importar >> Projetos existentes para a área de trabalho >> Selecione Arquivo Arquivado >> Navegue e localize o arquivo >> Concluir. Se ele já foi importado de alguma outra forma, exclua-o e tente dessa forma. Eu estava tendo o mesmo problema até tentar fazer isso.
fonte
Mais uma coisa a verificar: certifique-se de que seu arquivo de origem contém a declaração de pacote correta correspondente ao subdiretório em que está. O erro mencionado pelo OP pode ser visto ao tentar executar um "tipo principal" declarado em um arquivo em um subdiretório, mas faltando a instrução do pacote.
fonte
Também tive este problema depois de alterar a pasta de origem. A solução que funcionou é apenas editar o arquivo e salvá-lo.
fonte
Experimente 'Atualizar projeto'. Depois de fazer isso, a opção Executar como aplicativo Java apareceu.
fonte
No meu caso particular 'Hello World', a causa desse problema era o fato de que meu
main()
método estava dentro do Scalaclass
.Coloquei o
main()
método no Scalaobject
e o erro desapareceu.Isso ocorre porque Scala
object
em termos de Java é a entidade com apenas membros e métodos estáticos dentro.É por isso que Java
public static void main()
em Scala deve ser colocado emobject
.(Scala
class
não pode conter estática dentro)fonte