У меня есть ситуация, когда мне нужно передать аргумент с кавычками из задачи ant java.
Аргумент для прохождения: test"Argument
Моя задача ant java выглядит следующим образом:
<java classname = "ClassName" failonerror = "true" dir = "path" fork = "true">
<classpath>
//loading libraries here
</classpath>
<arg value = "test"Argument" />
</java>
Код Java:
public class TestClass {
public static void main(final String[] args) throws Exception {
String input = args[0];
System.out.println("********* Passed Argument : " + input);
}
}
Когда я выполняю приведенный выше код, я получаю следующий результат:
Buildfile: D:\GIT_615\OIM-OAM\OpsHubInstaller\BaseInstaller\Installer Resource\build.xml
stepName:
antTargetName:
[echo] Argument to pass: test"Argument
[java] ********* Passed Argument : testArgument
BUILD SUCCESSFUL
Total time: 563 milliseconds
Если вы видите здесь двойные кавычки, " или " не был передан должным образом.
Как правильно передать аргумент с кавычками в java-файл
@VGR Я добавил java-код, в который я разбираю аргумент, вы можете сказать мне, что с ним не так?
Когда я запускаю это, я вижу: ********* Passed Argument : test"Argument
@VGR Какую версию муравья вы используете? Я использую 1.10.3
Я использую Ant 1.10.5. Я сомневаюсь, что обновление будет иметь значение, но вы можете попробовать.




Ваш файл сборки Ant правильный. Проблема, по-видимому, связана с программой Java, которая запускается задачей
<java>.