Jak skonfigurować metodę „Skróć wiersz poleceń” dla całego projektu w IntelliJ

123

Kiedy uruchamiam testy, pojawia się błąd „Linia poleceń jest za długa”. Działa, jeśli ustawię metodę „Shorten command line” w konfiguracji Run / Debug na „JAR manifest” dla określonej metody lub klasy, ale jak ustawić ją dla całego projektu, czy też istnieje globalne ustawienie IDE?

momo
źródło

Odpowiedzi:

74

Możesz ustawić domyślny sposób na skrócenie wiersza poleceń i użycie go jako szablonu do dalszych konfiguracji, zmieniając domyślny szablon JUnit Run / Debug Configuration. Następnie wszystkie nowe konfiguracje uruchamiania / debugowania utworzone w projekcie będą używać tej samej opcji.

Oto powiązany wpis na blogu dotyczący konfigurowalnej opcji skracania wiersza poleceń.

Andrey
źródło
3
W nowej wersji już nie działa, ponieważ opcja została usunięta. Jak to zrobić teraz?
Mulgard
26
Ustawienie, które zadziałało, to wybranie opcji „plik ścieżki klas” w oknie dialogowym, które pojawia się po kliknięciu łącza w komunikacie o błędzie. To jest w ustawieniu „Skróć wiersz poleceń”.
havoc1
1
zaznacz opcję "plik ścieżki klas" działa i sugerowałbym włączenie tej opcji w odpowiedzi na nowszą wersję IDE.
MrKumar
2
@MrKumar i get: „CommandLineWrapper” nie nadaje się do uruchamiania aplikacji w środowisku Java 9+. Jeśli konfiguracja uruchamiania używa „pliku ścieżki klas”, zmień go na „@argfile”. W przeciwnym razie skontaktuj się z pomocą techniczną.
Tym Pollack
155

W folderze .idea zmień plik workspace.xml

Dodaj

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

do

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

Przykład

 <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>

Jeśli go nie widzisz, możesz dodać go samodzielnie

 <component name="PropertiesComponent">
    <property name="dynamic.classpath" value="true" />
  </component>
Maulzey
źródło
2
Ta metoda działa w przypadku, gdy twoja wersja intellij nie ma metody GUI do ustawiania tego. Chciałbym zaznaczyć, że może to być plik .idea / workspace.xml LUB plik <project_name> .iws. Jeśli nie masz folderu .idea, wyszukaj plik .iws w swoim projekcie.
Dennis Bartlett
1
uratował mój dzień! domyślne szablony nie działały dla mnie.
siedliska
82

Intellij 2018.2.5

Uruchom => Edytuj konfiguracje => Wybierz węzeł po lewej stronie => rozwiń Środowisko => Skróć opcje wiersza poleceń => wybierz plik Classpath lub manifest JAR

Zrzut ekranu przedstawiający Uruchom / debuguj konfigurację przedstawiający opcje wiersza poleceń

Rajesh Goel
źródło
9
To rozwiązanie musi być ustawione jako nowe za każdym razem, gdy uruchamiasz pojedynczy test, którego wcześniej nie uruchamiałeś
4ndro1d
2
Możesz ustawić to w szablonie dla konfigurowanego typu konfiguracji i nie będzie to konieczne dla każdego nowego testu / konfiguracji. Zobacz zaakceptowaną odpowiedź, aby uzyskać szczegółowe informacje.
Dennis Bartlett
1
Tak! To zadziałało dla mnie jak urok w testach Androida! Dziękuję Ci!
sud007
15

Podziękowania dla Rajesh Goel w Android Studio:

Uruchom> Edytuj konfiguracje ...

wprowadź opis obrazu tutaj

Wybierz test (lepiej wybrać rodzicielską klasę testową) i ustaw Shorten command line:opcję na classpath file. Następnie OK (lub Zastosuj, OK).

wprowadź opis obrazu tutaj

CoolMind
źródło
1

Jeśli używasz wersji JDK od 9+, powinieneś wybrać

Uruchom > Edytuj konfiguracje ... > Wybierz szablon JUnit .

Następnie wybierz @argfile (Java 9+), jak na obrazku poniżej. Proszę, spróbuj. Powodzenia przyjaciele.

wprowadź opis obrazu tutaj

Quoc Truong
źródło