solucion - Aplicación de consola con Java y gradle
jsf jpa login example (3)
Lo más probable es que el problema radique en tu código java. Todo lo que hace el complemento de la aplicación es compilar el código java y ejecutar la clase principal que especifique. ¿Puedes publicar el código en tu clase principal que especificaste para el plugin de la aplicación (mainClassName)?
Estoy escribiendo una aplicación de consola con Java y Gradle. Estoy usando el complemento de la application
y tengo los campos necesarios configurados correctamente en build.gradle
.
En mi clase principal tengo BufferedReader
vinculado con System.in
. Aquí está el problema: cuando ejecuto gradle run
en el directorio del proyecto, el lector no espera la entrada de mi consola. BufferedReader#readLine
en BufferedReader#readLine
lugar devuelve null
en la primera llamada. Este comportamiento no es deseable para lo que estoy haciendo.
¿Cuál es la solución? ¿Hay un complemento de aplicación de consola separado para gradle o necesito ajustar el complemento de la application
alguna manera para satisfacer mis necesidades?
Por defecto, el sistema.in de su compilación de gradle no está conectado con el sistema.in de la tarea de ejecución (JavaExec). Puedes hacer lo siguiente:
run{
standardInput = System.in
}
Como se indicó anteriormente, agregue
run {
standardInput = System.in
}
y agrega -q
para ejecutar en modo "silencioso" (para evitar tener > Building > :run
)
gradle console:run -q
Fuente: https://docs.gradle.org/current/userguide/gradle_command_line.html