Não é possível escolher a classe como principal no IntelliJ

98

Eu tenho um projeto Java no IntelliJ ao qual acabei de adicionar um monte de arquivos em uma hierarquia de pastas aninhadas. Muitos desses arquivos são testes e incluem o método principal, então devo ser capaz de executá-los. No entanto, não consigo descobrir como fazer isso.

Sou novo no IntelliJ e, anteriormente, os arquivos eram exibidos na hierarquia do projeto com o símbolo que corresponde a "Classe Java que contém a declaração do método main ()". mas, neste cenário, eles aparecem com o símbolo correspondente à "classe Java localizada fora da raiz de origem".

Então, como faço para compilar e executar esses arquivos?

CE
fonte
2
Para qualquer pessoa que venha aqui com o mesmo problema, mas nenhum problema de "raiz de origem" - os indicadores de executabilidade e "classe principal" desapareceram quando importei acidentalmente com.sun.org.apache.xpath.internal.operations.String- ainda não consigo descobrir por que isso aconteceu! (IDÉIA 2018.1, JDK 8, Maven)
Janaka Bandara

Respostas:

64

A documentação vinculada, na verdade, tem a resposta no link associado à "classe Java localizada fora da raiz de origem". Configure sua fonte e teste as raízes e deve funcionar.

https://www.jetbrains.com/idea/webhelp/configuring-content-roots.html

Como você afirmou que esses são testes, você provavelmente deveria marcá-los como Test Source Root em vez de Source Root.

trappski
fonte
1
Certifique-se de configurar as dependências do módulo corretamente. Marque o módulo na estrutura do projeto e 'F4' é a chave padrão para abrir as configurações do módulo (pelo menos no Linux). (Ou clique com o botão direito e escolha 'Abrir configurações do módulo'). Espero que isso aqui possa ajudar um pouco mais: jetbrains.com/idea/webhelp/…
trappski
Ah, sim, as dependências resolveram meu problema no final. ty.
CE de
136

Selecione a pasta que contém a árvore de pacotes dessas classes, clique com o botão direito e escolha "Marcar diretório como -> Raiz de origem"

JB Nizet
fonte
Isso fez o que eu pedi, porém agora não pode resolver as instruções de importação. Outros erros também apareceram. Ideias?
CE de
Por exemplo, ele me pediu para anexar métodos com "odeToJava.modules." e depois reclamou que não conseguia resolver o odeToJava.
CE de
Como você chega ao menu que permite fazer isso? Você visualiza os diretórios e arquivos do projeto na visualização Projeto (alt + 1) e então clica com o botão direito do mouse na pasta seguindo as instruções do OP.
James T.
Eu fiz isso, mas só me permite selecionar os arquivos de notas e não o executor JAVA principal.
Oliver Dixon,
0

Aqui está o procedimento completo para IDEA IntelliJ 2019.3:

  1. Arquivo> Estrutura do Projeto

  2. Em Configurações do projeto> Módulos

  3. Na guia 'Fontes', clique com o botão direito na pasta 'src' e selecione 'Fontes'.

  4. Aplicar mudanças.

Ashwin
fonte