2

如何指定要使用的不同启动器。我想使用 M5 版本中添加的 PropertiesLauncher

我尝试通过修改 mainfest 文件来强制它使用 PropertiesLauncher 类,它有点工作但抛出了这个错误]

$ java -jar hdfspub-0.0.1-SNAPSHOT.jar

2013 年 10 月 28 日 12:42:44 PM org.springframework.boot.loader.PropertiesLauncher initializeProperties

信息:找到:application.properties 2013 年 10 月 28 日下午 12:42:44 org.springframework.boot.loader.PropertiesLauncher initializePaths 信息:嵌套存档路径:[lib/]

2013 年 10 月 28 日下午 12:42:44 org.springframework.boot.loader.PropertiesLauncher getClassPathArchives 信息:从 lib/ 添加类路径条目

java.lang.IllegalStateException:在 org.springframework.boot.loader.PropertiesLauncher.getMainClass(PropertiesLauncher) 的 org.springframework.boot.loader.archive.Archive.getMainClass(Archive.java:52) 中没有指定“Start-Class”清单条目.java:298) 在 org.springframework.boot.loader.Launcher.launch(Launcher.java:53) 在 org.springframework.boot.loader.PropertiesLauncher.main(PropertiesLauncher.java:343) 所以看起来它失败了包括没有指定 Start-Class 的罐子..

4

1 回答 1

2

当您使用“java -jar ...”时,它会在 META-INF/MANIFEST.MF 中查找 Main-Class 属性。Spring 与此无关。如果您使用 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>
于 2013-11-04T13:53:18.277 回答