mvn spring-boot: run vs java - jar
바보 같은 질문으로 들릴지 모르지만, 나는 그 차이를 이해할 수 없다.mvn spring-boot:run
그리고.java -jar
mvn 설치 시 생성된 (.jar 파일)
jsp 페이지가 있는 스프링 부트 어플리케이션이 있습니다./src/main/resources/META-INF/resources/WEB-INF/
를 사용하면mvn spring-boot:run
이 페이지들은 제공되었습니다.하지만 내가 사용한다면java -jar
이러한 페이지는 어플리케이션에서 찾을 수 없습니다.
현재 작업 중인 어플리케이션은 https://github.com/ArslanAnjum/angularSpringApi에 있습니다.
업데이트: 스프링 부트 1.4.2에서 작동합니다.최신 버전인 1.5.8을 사용하는 동안 릴리스합니다.풀어주다.
업데이트: src/main/webapp/WEB-INF/views/에 jsps를 넣고 패키징 유형을 war로 변경한 후 java -jar target/myapp을 사용하여 이 전쟁을 실행함으로써 문제를 해결했습니다.전쟁은 이제 잘 풀리고 있다.
간단한 답변:spring-boot:run
는 입니다.java -jar
Maven 빌드의 일부로 실행되는 stero"d 명령어를 사용하여 필요한 모든 파라미터(리소스 등)가 앱에 전달되도록 합니다. spring-boot:run
또, 를 실행함으로써 프로젝트가 컴파일 할 수도 있습니다.test-compile
어플리케이션 실행 전 라이프 사이클 목표
장황한 답변:
달릴 때java -jar
이 JVM에 전달한 모든 파라미터를 사용하여 새 JVM 인스턴스를 시작합니다.예를 들어 Spring 문서 예제 사용
java -Xdebug -Xrunjdwp:server=y, \
transport=dt_socket, address=8000, suspend=
-jar target/myproject-0.0.1-SNAPSHOT.jar
지정된 파라미터를 사용하여 새로운 JVM을 기동합니다.명령줄에 클래스 경로 요소, 애플리케이션 매개 변수, JVM 옵션 등 필요한 모든 항목을 포함해야 합니다.
달릴 때mvn spring-boot:run
다음과 같은 Maven 빌드를 시작합니다.
- 를 실행합니다.
test-compile
라이프 사이클 목표, 디폴트로는resources:resources
,compiler:compile
,resources:testResources
,compiler:testCompile
Maven Resources and Compiler 플러그인의 목표. - 프로젝트에서 정의한 Spring Boot Maven 플러그인 구성(pom.xml, 부모 및 설정, 명령줄 등)에 따라 다양한 파라미터를 사용하여 응용 프로그램을 실행합니다.여기에는 다음이 포함됩니다.
- 많은 클래스 패스 요소:
target/classes
응용 프로그램, Maven 종속성 등에 필요한 리소스 및 라이브러리를 포함하는 폴더입니다. - JVM을 분기할지 여부(앱을 실행하기 위해 완전히 새로운 JVM을 생성할지 또는 Maven 빌드의 JVM을 재사용할지 여부)는 다음을 참조하십시오.
fork
그리고.agent
플러그인의 파라미터
- 많은 클래스 패스 요소:
이하에 따라:
/src/main/resources/META-INF/resources/WEB-INF/에 jsp 페이지가 있는 스프링 부트 애플리케이션이 있습니다.mvn spring-boot:run을 사용하면 다음 페이지가 제공됩니다.그러나 java -jar를 사용하면 이 페이지는 어플리케이션에서 찾을 수 없습니다.
그이 it mvn spring:boot
를 실행하면 """가 됩니다.target/classes
클래스 패스컴파일 후 이 폴더는 다음을 포함합니다.target/classes/META-INF/resources/WEB-INF
른른른른에서 '찾아갈 수 있다'를 수 .META-INF/resources/WEB-INF
로딩이 필요할 때 로딩합니다.★★★★★★★★★★★★★를 실행했을 때java -jar
명령, 이 폴더가 클래스 경로에 없을 수 있습니다. 는 (에서 입니다)src/main/resources
는 ""」중)resources:resources
목표) )
같은 결과를 얻으려면java -jar
에 리소스를 . 예를 , 클래스 경로에 리소스를 포함해야 합니다.javar -jar myapp.jar -cp $CLASSPATH;/path/to/my/project/target/classes/
, 여러분, 자, 자, 자, 자, 자, 자, 자, 자, 자, 자, 자, 자, 자, 자, 자, 자, 자, 자, 자, 자, 자, 자, 자, 자, 자, 자, 자, 자, 자, 자, 자, 자, 자, 자.mvn package
mvn install
파일을 때 jar 파일을 합니다.java -jar
무슨 일입니까?package
는 POM POM은 jar/war를 작성합니다.install
는 생성된 jar 파일을 로컬저장소에 설치합니다(존재하는 경우).
언급URL : https://stackoverflow.com/questions/47258695/mvn-spring-bootrun-vs-java-jar
'programing' 카테고리의 다른 글
meta_query를 사용한 복잡한 custom_field 검색 (0) | 2023.03.08 |
---|---|
requirejs를 사용하여 정적 JSON 파일을 로드하려면 어떻게 해야 합니까? (0) | 2023.03.08 |
입력 필드의 텍스트 사용 안 함 7 워드프레스 연락처 (0) | 2023.02.26 |
jq json 출력에서 열 제외 (0) | 2023.02.26 |
"React가 Hooks 순서 변경을 감지했습니다." 그러나 Hooks가 순서대로 호출되는 것 같습니다. (0) | 2023.02.26 |