2016-12-05 9 views
1

spring-boot-maven-plugin을 사용하여 runnable jar을 만들었습니다. 병은 jar -jar %FILENAME%을 사용하여 실행할 수 있습니다.procrun windows service executor를 사용하여 spring-boot에서 실행 jar를 시작하는 방법은 무엇입니까?

그러나 windows 서비스로 설치하려면 procrun을 사용하고 싶습니다.

문제 : 다음 응용 프로그램을 시작할 때, 나는 다음과 같은 출력을 얻을 :

[2016-12-05 12:33:22] [info] [ 7788] Starting service... 
[2016-12-05 12:33:23] [error] [ 4856] FindClass de/app/MyApplication failed 
[2016-12-05 12:33:23] [error] [ 7788] Failed to start Java 
[2016-12-05 12:33:23] [error] [ 7788] ServiceStart returned 4 
[2016-12-05 12:33:23] [info] [ 7916] Run service finished. 
[2016-12-05 12:33:23] [info] [ 7916] Commons Daemon procrun finished 

내가 * tar.gz의 내가 어떤 디렉토리 "드/응용 프로그램 /"가없는 볼 수있는 파일의 이름을 변경합니다. 그러나 BOOT-INF/classes/de/app 디렉토리.

질문 : 왜 응용 프로그램을 java -jar으로 시작하지만 procrun 서비스로 시작하지 않는지 (기본적으로 동일해야 함)

+2

스프링 부트에는 자체 실행기가 있으므로 'procrun'과 동일하게 작동하지 않습니다. 'java -jar'를 사용할 때 스프링 부트는 파일 포맷에 대처할 수있는 자체 런처와 클래스 패스 메커니즘을 가지고 있습니다. Windows 서비스로서 스프링 부트 응용 프로그램을 시작하는 방법은 (드문 드문) [참조 설명서] (http://docs.spring.io/spring-boot/docs/current/reference/html/deployment-install.html)에 설명되어 있습니다. # deployment-windows). 'procrun' 대신'winsw'를 사용해야합니다. –

답변

0

분명히 1.4.0.RELEASE부터 시작되는 Spring Boot는 WAR 패키징에 더 가깝게 변경된 fat jar 패키징을 가지고 있습니다.

문제 설명 here.

해결 방법으로는 here과 같이 maven 실행에 분류기를 추가하거나 이전 버전의 Spring Boot로 변경하면됩니다.

희망이 도움이됩니다.

+0

다운 그레이드를 원하지 않기 때문에 : 나는 '분류 자'를 추가하려고했지만 어쨌든 항아리는 같은 오류를 보여줍니다. – membersound

+0

다운 그레이드를 시도하여 오류인지 여부를 확인할 수 있습니다. –

+0

흠 올바른 경로로'jar'를 생성하는'1.3.8.RELEASE'를 시도했습니다. 어쨌든 정확한 폴더에 클래스가 표시 되더라도 동일한 오류가 발생합니다. – membersound