Groovy выполняет “CP *” команда оболочки

Как будто вы пытаетесь получить доступ к объекту, который является null. Рассмотрим ниже пример:

TypeA objA;

. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException, что имеет смысл.

См. Также этот пример:

String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
13
задан Opal 15 November 2017 в 14:24
поделиться

2 ответа

Подстановочное расширение выполняется оболочкой, не CP (или отличное). Ваш первый пример пытается скопировать файл, названный *. Вы могли сделать свою команду "sh-c 'CP...'"

6
ответ дан 1 December 2019 в 22:41
поделиться

Благодарен за то, что tedu получает меня половина пути там.

я верю причине, что его решение не работало, был из-за проблемы 'выхода'.

, Например...

"sh -c 'ls'".execute()

работы. Но...

"sh -c 'ls '".execute()

не делает.

существует, вероятно, способ выйти из него правильно в строке там, но обходное решение, которое я использую, должно передать массив строк Runtime.getRuntime (), .exec

command = ["sh", "-c", "cp src/*.txt dst/"]
Runtime.getRuntime().exec((String[]) command.toArray())

работает красиво!

15
ответ дан 1 December 2019 в 22:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: