Maven, przekazywanie plikow jako argumentow.

0

Dzień dobry,
Napisalem program w javie ktory operuje na plikach tekstowych i do tego chcilem zeby odpalal sie z poziomu terminala/cmd. Skonfigurowalem plik pom.xml tak, ze komenda mvn exec:exec faktycznie program odpala. Na razie jest ok, ale chcialbym zeby program jeszcze wczytywal pliki na ktorych ma operowac tak wiec dobrze by było zeby komenda do odpalania wygladala tak: mvn exec:exec "C:\Desktop\a.txt" "C:\Desktop\b.txt" lecze srednio wiem jak juz to zrobic? Czy jest ktos kto mogłby pomoc w tym temacie?

<plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <version>1.6.0</version>
                <configuration>
                    <executable>java</executable>
                    <arguments>
                        <argument>-Djava.library.path=target/lib</argument>
                        <argument>-classpath</argument>
                        <classpath />
                        <argument>com.projekt.Main</argument>
                    </arguments>
                </configuration>
            </plugin>

0

A czemu nie odpalić Javą tzn java -jar czy jakoś tak?

0

Spróbuj dodać -Dexec.args="param1 param2 param3"

Tu masz dokumentację pluginu: https://www.mojohaus.org/exec-maven-plugin/exec-mojo.html#commandlineArgs
"User property" to "-D<property.name>=..."

0
yarel napisał(a):

Spróbuj dodać -Dexec.args="param1 param2 param3"

Tu masz dokumentację pluginu: https://www.mojohaus.org/exec-maven-plugin/exec-mojo.html#commandlineArgs
"User property" to "-D<property.name>=..."

Dodałem niestety dalej nie działa, a co do linku to moze niekumaty jestem ale jak to commandlineArgs wykorzystać? Dodac to jako tag w pomie i tam argument? Nie do konca to chwytam niestety

0

Nie wiem jak to Twoje wywołanie wyglądało. Zrobiłem na szybko:

  1. pom.xml
<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>foo.bar</groupId>
  <artifactId>my-baz</artifactId>
  <version>1</version>
</project>
  1. foo.bat - prosty skrypt batchowy, który wyświetla przekazane parametry
@echo "Parmetry przkeazane w cmd: %*"
  1. Wywołanie pluginu exec:exec
mvn exec:exec -Dexec.executable=c:\Users\pkw\Projekty\@tmp@\foo.bat -Dexec.args="param1 param2 param3 /param4"

Efekt:

[INFO] Scanning for projects...
[INFO]
[INFO] ---------------------------< foo.bar:my-baz >---------------------------
[INFO] Building my-baz 1
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- exec-maven-plugin:1.6.0:exec (default-cli) @ my-baz ---

C:\Users\pkw\Projekty\@tmp@>echo "Parmetry przkeazane w cmd: param1 param2 param3 /param4"
"Parmetry przkeazane w cmd: param1 param2 param3 /param4"
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.667 s
[INFO] Finished at: 2018-10-11T09:32:09+02:00
[INFO] ------------------------------------------------------------------------

1 użytkowników online, w tym zalogowanych: 0, gości: 1