Como configurar o método “Encurtar linha de comando” para todo o projeto no IntelliJ

110

Quando executo testes, recebo o erro "A linha de comando é muito longa". Funciona se eu definir o método "Encurtar linha de comando" na configuração Executar / Depurar para "manifesto JAR" para o método ou classe específica, mas como faço para defini-lo para todo o projeto ou há uma configuração global do IDE para ele?

momo
fonte

Respostas:

68

Você pode definir uma maneira padrão de encurtar a linha de comando e usá-la como um modelo para outras configurações, alterando o modelo de configuração de execução / depuração JUnit padrão . Em seguida, todas as novas configurações de Executar / Depurar que você criar no projeto usarão a mesma opção.

Aqui está a postagem do blog relacionada sobre a opção de encurtador de linha de comando configurável.

Andrey
fonte
3
Ele não funciona mais na nova versão porque a opção foi excluída. Como fazer agora?
Mulgard
16
A configuração que funcionou para mim é selecionar a opção "arquivo classpath" na caixa de diálogo que surge ao clicar no link da mensagem de erro. Isso está na configuração "Encurtar linha de comando".
havoc1
1
selecionar a opção "arquivo de caminho de classe" funciona e eu sugiro incluir essa opção na resposta para a versão mais recente do IDE.
MrKumar
@MrKumar i get: 'CommandLineWrapper' não é adequado para iniciar aplicativos em Java 9+. Se a configuração de execução usa "arquivo classpath", altere-o para "@argfile". Caso contrário, entre em contato com o suporte.
Tym Pollack
144

Dentro de sua pasta .idea, altere o arquivo workspace.xml

Adicionar

<property name="dynamic.classpath" value="true" />

para

  <component name="PropertiesComponent">
.
.
.
  </component>

Exemplo

 <component name="PropertiesComponent">
    <property name="project.structure.last.edited" value="Project" />
    <property name="project.structure.proportion" value="0.0" />
    <property name="project.structure.side.proportion" value="0.0" />
    <property name="settings.editor.selected.configurable" value="preferences.pluginManager" />
    <property name="dynamic.classpath" value="true" />
  </component>

Se você não encontrar um, fique à vontade para adicioná-lo você mesmo

 <component name="PropertiesComponent">
    <property name="dynamic.classpath" value="true" />
  </component>
Maulzey
fonte
Este método funciona no caso de sua versão do intellij não possuir o método GUI de configuração. Gostaria de salientar que pode ser o arquivo .idea / workspace.xml OU o arquivo <project_name> .iws. Se você não tiver uma pasta .idea, procure um arquivo .iws em seu projeto.
Dennis Bartlett
salvou meu dia! os modelos padrão não funcionaram para mim.
habitats
Funcionou para mim, obrigado
Shylendra Madda
67

Intellij 2018.2.5

Executar => Editar Configurações => Escolher Nó no lado esquerdo => expandir Ambiente => Encurtar opções de linha de comando => escolher arquivo Classpath ou manifesto JAR

Captura de tela da configuração de execução / depuração mostrando as opções de linha de comando

Rajesh Goel
fonte
8
Esta solução deve ser configurada como nova cada vez que você executa um único teste que não tenha executado antes
4ndro1d
2
Você pode definir isso no modelo para o tipo de configuração que está definindo e não precisará ser definido para cada novo teste / configuração. Veja a resposta aceita para detalhes.
Dennis Bartlett
1
Sim! Isso funcionou perfeitamente para mim para os testes do Android! Obrigado!
sud007
obrigado, você é salva-vidas!
Serg Burlaka
2

Agradecimentos a Rajesh Goel em Android Studio:

Executar> Editar configurações ...

insira a descrição da imagem aqui

Selecione um teste (melhor selecionar uma classe de teste pai) e defina uma Shorten command line:opção para classpath file. Então OK (ou Aplicar, OK).

insira a descrição da imagem aqui

CoolMind
fonte
0

Se você usa a versão JDK 9+, deve selecionar

Executar > Editar configurações ... > Selecionar modelo JUnit .

Em seguida, selecione @argfile (Java 9+) como na imagem abaixo. Por favor tente. Boa sorte, amigos.

insira a descrição da imagem aqui

Quoc Truong
fonte