2016-07-04 2 views
0

У меня есть команда, чтобы вызвать проект maven.'?' при добавлении аргументов командной строки, переданных через mvn exec: java

mvn exec:java -Dexec.mainClass="utility.DriverScript" -Dexec.classpathScope=test -Dexec.args=”’D:\ABC\ExcelDriver.xlsx’” 

Когда я получаю арг в основных методах, я получаю значение, как

??D:\ABC\ExcelDriver.xlsx?? 

Я даже пробовал ниже типа во время отправки арг, но не повезло

-Dexec.args=”’D:\\ABC\\ExcelDriver.xlsx’” 
-Dexec.args=”’D:/ABC/ExcelDriver.xlsx’” 

Когда я попытался с -Dexec.args=”D:\ABC\ExcelDriver.xlsx”, я получил выход как?

D:\ABC\ExcelDriver.xlsx? 

Что я здесь делаю неправильно. Любой указатель поможет. Maven Версия 3.3.9

Моя POM сборка выглядит,

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>3.1</version> 
      <configuration> 
       <source>1.7</source> 
       <target>1.7</target> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

еще один странный материал. Я решил поместить исправление для этого же. Но функция замены вообще не работает.

System.out.println(args[0].toString()); //Prints "??args[0]value??" 
String s = args[0].toString(); 
String firstword = s.replace("?", ""); 
System.out.println(firstword); //Prints "??args[0]value??" 
+0

выглядит как полукокс Arround параметра не двойные кавычки – Jens

+0

, что делает ваш POM выглядеть ? Не могли бы вы поделиться с ним частью сборки. – nullpointer

+0

еще один странный материал. Я решил поместить исправление для этого же. Но функция замены вообще не работает. System.out.println (арг [0] .ToString()); // Печатает "? Args [0] значение ??" \t \t Строка s = args [0] .toString(); \t \t Строка firstword = s.replace ("?", ""); \t \t System.out.println (firstword); // Печатает "? Args [0] значение ??" – ABS

ответ

0

Как я уже отмечал, char arroung -Dexec.args ... не являются двойными кавычками. Так Переключают:

mvn exec:java -Dexec.mainClass="utility.DriverScript" -Dexec.classpathScope=test -Dexec.args="D:\ABC\ExcelDriver.xlsx" 

Знаков у вас есть не печатаемые знаки, так что это будет показан, как знак вопроса

+0

Когда я попробовал выше, я получил вывод как? D: \ ABC \ ExcelDriver.xlsx ?. В вопросе я намеренно поставил одну цитату внутри двойной кавычки, так что даже если в ней есть какие-то пробелы, это будет принято как один аргумент. Я не уверен, что проблема связана с maven? Я даже попробовал простой ввод, например -Dexec.args = "Name", я получаю вывод как? Name? – ABS

Смежные вопросы