以下のコマンドを使用して、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>
1より奇妙なもの、のように見えます。私は同じもののハックフィックスをすることにしました。しかし、機能を置き換えることはまったく機能していないようです。
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??"
はパラメータarroundの文字のように見えます疑問符として示したことになるので、
あなたは、印刷可能な兆候ではない持っている兆候はのようなあなたのポンポンを見て何をするか、二重引用符 – Jens
ではありません?あなたは少なくともそれのビルド部分を共有することができますか? – nullpointer
もう1つ奇妙なもの。私は同じもののハックフィックスをすることにしました。しかし、機能を置き換えることはまったく機能していないようです。 System.out.println(args [0] .toString()); // "args [0] value ??"を出力します。 \t \t文字列s = args [0] .toString(); \t \t文字列firstword = s.replace( "?"、 ""); \t \t System.out.println(firstword); // "args [0] value ??"を出力します。 – ABS