Come configurare il metodo "Accorcia riga di comando" per l'intero progetto in IntelliJ


110

Quando eseguo i test ricevo l'errore "La riga di comando è troppo lunga". Funziona se imposto il metodo "Shorten command line" nella configurazione Run / Debug su "JAR manifest" per il metodo o la classe specifica, ma come lo imposto per l'intero progetto o esiste un'impostazione globale IDE per esso?

Risposte:


68

È possibile impostare un modo predefinito per abbreviare la riga di comando e utilizzarlo come modello per ulteriori configurazioni modificando il modello di configurazione di esecuzione / debug di JUnit predefinito . Quindi tutta la nuova configurazione Esegui / Debug che crei nel progetto utilizzerà la stessa opzione.

Ecco il post del blog correlato sull'opzione di abbreviazione della riga di comando configurabile.


3
Non funziona più nella nuova versione perché l'opzione è stata eliminata. Come farlo adesso?
Mulgard

16
L'impostazione che ha funzionato per me è selezionare l'opzione "file classpath" nella finestra di dialogo che viene visualizzata facendo clic sul collegamento del messaggio di errore. Questo è sotto l'impostazione "Accorcia riga di comando".
havoc1

1
selezionare l'opzione "file classpath" funziona e suggerirei di includere questa opzione nella risposta per la versione più recente di IDE.
MrKumar

@MrKumar ottengo: "CommandLineWrapper" non è adatto per l'avvio di app su Java 9+. Se la configurazione di esecuzione utilizza "classpath file", cambiarlo in "@argfile". Altrimenti, contatta l'assistenza.
Tym Pollack

144

All'interno della cartella .idea, modifica il file workspace.xml

Inserisci

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

per

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

Esempio

 <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 non ne vedi uno, sentiti libero di aggiungerlo tu stesso

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

Questo metodo funziona nel caso in cui la tua versione di intellij non abbia il metodo GUI per impostarlo. Vorrei sottolineare che potrebbe essere il file .idea / workspace.xml O <nome_progetto> .iws. Se non hai una cartella .idea, cerca un file .iws nel tuo progetto.
Dennis Bartlett

mi ha salvato la giornata! i modelli predefiniti non hanno funzionato per me.
habitat

Per me ha funzionato, grazie
Shylendra Madda

67

Intellij 2018.2.5

Esegui => Modifica configurazioni => Scegli nodo sul lato sinistro => espandi Ambiente => Accorcia le opzioni della riga di comando => scegli il file Classpath o il manifest JAR

Schermata della configurazione di esecuzione / debug che mostra le opzioni della riga di comando


8
Questa soluzione deve essere impostata come nuova ogni volta che esegui un singolo test che non hai mai eseguito prima
4ndro1d

2
È possibile impostarlo sul modello per il tipo di configurazione che si sta impostando e non sarà necessario impostarlo per ogni nuovo test / configurazione. Vedi la risposta accettata per i dettagli.
Dennis Bartlett

1
Sì! Questo ha funzionato alla grande per me per i test Android! Grazie!
sud007

grazie sei salvavita!
Serg Burlaka

2

Grazie a Rajesh Goel in Android Studio:

Esegui> Modifica configurazioni ...

inserisci qui la descrizione dell'immagine

Seleziona un test (meglio selezionare una classe di test genitore) e imposta Shorten command line:un'opzione su classpath file. Quindi OK (o Applica, OK).

inserisci qui la descrizione dell'immagine


0

Se utilizzi la versione JDK da 9+, dovresti selezionare

Esegui > Modifica configurazioni ... > Seleziona modello JUnit .

Quindi, seleziona @argfile (Java 9+) come nell'immagine sottostante. Per favore provalo. Buona fortuna amici.

inserisci qui la descrizione dell'immagine

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.