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 |