Я вызываю мой основной класс, как это из файла градиента, и когда я пытаюсь прочитать пароль с помощью System.console, я получаю NPE.System.console null в задаче java gradle
task (getRepositoryInfo, dependsOn: 'classes', type: JavaExec) {
standardInput = System.in
standardOutput = System.out
environment('TERM', 'dumb')
main = 'com.devpt.explorer.Demo'
mainClassName = 'com.devpt.explorer.Demo'
classpath = sourceSets.main.runtimeClasspath
def stageName = project.hasProperty("STAGE_NAME")? project.getProperty("STAGE_NAME"): "stageXXXX"
def operations = project.hasProperty("OPERATIONS")? project.getProperty("OPERATIONS"): "ALL"
def buildId = project.hasProperty("BUILD_ID")? project.getProperty("BUILD_ID"): "DUMMY"
args operations
args stageName
args buildId
}
System.console подходит как null в основном классе java. Но я могу прочитать пароль непосредственно из файла градации. Что я делаю неправильно?
Пример кода: https://github.com/ajayboseac/GradleExample
Gradle версия 2.2 Java Версия: 1.7.0_13
Не могли бы вы представить примерный пример, который воспроизводит проблему? – Opal
добавил ссылку на git hub – Ajay
Как вы запускаете свою сборку? Команда оболочки или IDE? Я [использовал для работы с System.console() из задачи внутри плагина] (https://github.com/madhead/gradle-backup-plugin/blob/master/src/main/java/by/dev/madhead /gbp/tasks/gdrive/ObtainGoogleDriveTokensTask.java#L51) (или из build src dir), и он работает нормально. – madhead