2013-10-28 60 views
1

如何指定要使用的其他啓動器。我想用PropertiesLauncher在M5版本指定要使用哪個啓動器

我試圖通過修改mainfest文件,迫使它使用PropertiesLauncher類且將其樣的作品,但引發此錯誤]

$ java -jar hdfspub-0.0.1-SNAPSHOT.jar 

2013年10月28日下午12點42分44秒org.springframework.boot.loader.PropertiesLauncher initializeProperties

INFO:實測值:application.properties中 2013年10月28日下午12點42分44秒org.springframework.boot.loader.PropertiesLauncher initializePaths INFO :嵌套存檔路徑:[lib /]

2013年10月28日下午12時42分44秒org.springframework.boot.loader.PropertiesLauncher getClassPathArchives 信息:從LIB /添加類路徑條目

java.lang.IllegalStateException:沒有 '啓動類' 清單條目在org.springframework.boot.loader.archive.Archive.getMainClass(Archive.java:52) 處指定 ,位於org.springframework.boot.loader.PropertiesLauncher.getMainClass(PropertiesLauncher.java:298) at org.springframework。 boot.loader.Launcher.launch(Launcher.java:53) at org.springframework.boot.loader.PropertiesLauncher.main(PropertiesLauncher.java:343)所以它似乎失敗了,包括沒有Start-Clas的jar s指定..

+0

這是一個很好的問題,你有沒有找到解決的辦法? – Yanko

+0

是的,我使用下面的答案 – adeelmahmood

回答

2

當您使用「java -jar ...」時,它在META-INF/MANIFEST.MF中查找Main-Class屬性。沒有什麼春天與此相關。如果你用spring-boot-tools構建jar,那麼Main-Class就會被猜測出來,我認爲M5沒有任何支持來覆蓋它。在最近的快照中,您可以將「佈局」指定爲ZIP,例如

apply plugin: "spring-boot" 
springBoot { 
    layout = 'ZIP' 
} 

或Maven的

<plugin> 
<groupId>org.springframework.boot</groupId> 
<artifactId>spring-boot-maven-plugin</artifactId> 
<configuration> 
    <layout>ZIP</layout> 
</configuration> 
</plugin> 
+0

的maven配置有沒有一種方法來指定啓動程序而無需重建(比如說 ZIP未指定)。 –

+0

您應該可以使用classpath(而不是'java -jar'),並且在命令行中包含主類,而不是從清單中讀取它。 –