Maven : 인수를 전달하는 명령 줄에서 .java 파일을 실행하는 방법
다음과 같은 문제가 있습니다. 파일에 mvn
대한 명령 줄에서 실행 하고 싶습니다 Main.java
. Main.java
매개 변수를 허용합니다. 명령 줄에서 어떻게합니까?
예를 찾아 보았지만 성공하지 못했습니다. 누군가가 그 예를 들어서 나를 도울 수 있습니까?
나는 여기를 보았지만 내가 무엇을해야하는지 잘 이해하지 못했다.
또한 Main.java 폴더가 아닌 다른 폴더에서 해당 명령을 어떻게 실행합니까?
예를 들어는 Main.java
에 있습니다 my/java/program/Main.java
. 무엇을 넣어야하나요
mvn exec:java -Dexec.mainClass="what to put here?" -Dexec.args="arg0 arg1 arg2"
다음을 실행할 수 있습니다 mvn exec:exec -Dexec.args="arg1"
..
이것은 인수 arg1 을 프로그램에 전달합니다 .
정규화 된 기본 클래스를 지정해야합니다. 예를 들어 패키지 테스트에있는 Main.java에는 다음이 필요합니다.
mvn exec:java -Dexec.mainClass=test.Main
여기 에 -f
설명 된대로 매개 변수 를 사용하여 다른 디렉토리에서도 실행할 수 있습니다.
mvn exec:java -Dexec.mainClass=test.Main -f folder/pom.xm
여러 인수의 경우 명령 줄에서와 같이 공백으로 구분하면됩니다.
mvn exec:java -Dexec.mainClass=test.Main -Dexec.args="arg1 arg2 arg3"
으로 구분 된 인수의 경우 따옴표 안에를 space사용하여 그룹화 할 수 있습니다 'argument separated with space'
.
mvn exec:java -Dexec.mainClass=test.Main -Dexec.args="'argument separated with space' 'another one'"
으로 실행하는 것 외에도 다음을 사용하여 실행할 mvn exec:java
수도 있습니다.mvn exec:exec
mvn exec:exec -Dexec.executable="java" -Dexec.args="-classpath %classpath your.package.MainClass"
예를 들어 쉘 스크립트를 추가하면 run.sh
훨씬 더 쉬워집니다.
#!/usr/bin/env bash
export JAVA_PROGRAM_ARGS=`echo "$@"`
mvn exec:java -Dexec.mainClass="test.Main" -Dexec.args="$JAVA_PROGRAM_ARGS"
그러면 다음을 실행할 수 있습니다.
./run.sh arg1 arg2 arg3
maven-exec-plugin을 살펴보십시오 . 올바르게 사용하면 Java 클래스를 컴파일 한 다음 클래스 경로에서 컴파일 된 클래스와 함께 Java를 간단히 실행할 수 있습니다. 시작하려면 다음을 사용하기 만하면됩니다.
mvn exec:exec
'code' 카테고리의 다른 글
콘솔을 어떻게 지울 수 있습니까? (0) | 2020.10.10 |
---|---|
Java hashMap 내용을 서로 다른 내용에 넣지 만 기존 키와 값을 바꾸지 않는 방법은 무엇입니까? (0) | 2020.10.10 |
제약 조건을 변경하는 방법 (0) | 2020.10.10 |
대용량 어레이 스토리지 (플랫 바이너리 파일 대신)에 HDF5를 사용하면 분석 속도 또는 메모리 사용 이점이 있습니까? (0) | 2020.10.10 |
Django의 FileField를 기존 파일로 설정 (0) | 2020.10.10 |