Cómo configurar el método "Acortar línea de comando" para todo el proyecto en IntelliJ

110

Cuando ejecuto las pruebas, aparece el error "La línea de comandos es demasiado larga". Funciona si configuro el método "Acortar la línea de comando" en la configuración Ejecutar / Depurar en "Manifiesto JAR" para el método o la clase específicos, pero ¿cómo lo configuro para todo el proyecto o hay una configuración global IDE para ello?

momo
fuente

Respuestas:

67

Puede configurar una forma predeterminada de acortar la línea de comandos y usarla como plantilla para configuraciones adicionales cambiando la plantilla de configuración de ejecución / depuración JUnit predeterminada . Luego, toda la nueva configuración de Ejecutar / Depurar que cree en el proyecto usará la misma opción.

Aquí está la publicación de blog relacionada sobre la opción de acortador de línea de comandos configurable.

Andrey
fuente
3
Ya no funciona en la nueva versión porque la opción se eliminó. ¿Como hacerlo ahora?
Mulgard
16
La configuración que funcionó para mí es seleccionar la opción "archivo classpath" en el cuadro de diálogo que aparece al hacer clic en el enlace del mensaje de error. Esto se encuentra en la configuración "Acortar línea de comando".
havoc1
1
seleccionar la opción "archivo classpath" funciona y sugeriría incluir esta opción en la respuesta para la versión más nueva de IDE.
MrKumar
@MrKumar obtengo: 'CommandLineWrapper' no es adecuado para iniciar aplicaciones en Java 9+. Si la configuración de ejecución usa "archivo classpath", cámbielo a "@argfile". De lo contrario, comuníquese con el soporte.
Tym Pollack
143

Dentro de su carpeta .idea, cambie el archivo workspace.xml

Añadir

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

a

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

Ejemplo

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

Si no ve uno, no dude en agregarlo usted mismo

 <component name="PropertiesComponent">
    <property name="dynamic.classpath" value="true" />
  </component>
Maulzey
fuente
Este método funciona en el caso de que su versión de intellij no tenga el método GUI para configurar esto. Me gustaría señalar que puede ser el archivo .idea / workspace.xml O el archivo <nombre_proyecto> .iws. Si no tiene una carpeta .idea, busque un archivo .iws en su proyecto.
Dennis Bartlett
salvó mi día! las plantillas predeterminadas no me funcionaron.
hábitats
Me funcionó, gracias
Shylendra Madda
66

Intellij 2018.2.5

Ejecutar => Editar configuraciones => Elegir nodo en el lado izquierdo => expandir Entorno => Acortar opciones de línea de comando => elegir archivo Classpath o manifiesto JAR

Captura de pantalla de la configuración Ejecutar / Depurar que muestra las opciones de la línea de comandos

Rajesh Goel
fuente
8
Esta solución debe configurarse como nueva cada vez que ejecute una única prueba que no haya ejecutado antes
4ndro1d
2
Puede configurar esto en la plantilla para el tipo de configuración que está configurando y no será necesario configurarlo para cada nueva prueba / configuración. Consulte la respuesta aceptada para obtener más detalles.
Dennis Bartlett
1
¡Sip! ¡Esto funcionó como un encanto para mí para las pruebas de Android! ¡Gracias!
sud007
gracias eres salvavidas!
Serg Burlaka
2

Gracias a Rajesh Goel en Android Studio:

Ejecutar> Editar configuraciones ...

ingrese la descripción de la imagen aquí

Seleccione una prueba (es mejor seleccionar una clase de prueba principal) y establezca una Shorten command line:opción en classpath file. Luego OK (o Aplicar, OK).

ingrese la descripción de la imagen aquí

CoolMind
fuente
0

Si usa la versión JDK de 9+, debe seleccionar

Ejecutar > Editar configuraciones ... > Seleccionar plantilla JUnit .

Luego, seleccione @argfile (Java 9+) como en la imagen a continuación. Por favor pruebalo. Buena suerte amigos.

ingrese la descripción de la imagen aquí

Quoc Truong
fuente