SpringBoot 2.1.0中生成的包结构(如果提取uber jar文件)发生了变化。释放
第1.5.9条。发布jar文件有com
、lib
、META-INF
和org
目录
2.1.0。RELEASE有一个BOOT-INF
,META-INF
和org
目录
基本上从2.0.0开始。RELEASE Forwards-所有类和库都位于BOOT-INF
目录中。
因此,当您尝试在AmazonLambda上运行SpringBoot项目时,它说没有找到一个jar,因为它无法读取新的SpringBoot Uber jar结构
我尝试了maven-shade-plugin
-但这导致了其他问题。任何帮助都很感激。
StackOverflow的参考链接:SpringBootMaven插件-无Boot-INF目录
这段maven插件XML为我带来了好处:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.1.1</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
<includeScope>runtime</includeScope>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<id>zip-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<finalName>${project.artifactId}-${project.version}</finalName>
<descriptors>
<descriptor>src${file.separator}assembly${file.separator}bin.xml</descriptor>
</descriptors>
<attach>false</attach>
</configuration>
</execution>
</executions>
</plugin>
此外,您还需要一个包含以下内容的汇编/bin.xml
文件:
<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
<id>lambda-package</id>
<formats>
<format>zip</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<fileSets>
<!-- copy runtime dependencies with some exclusions -->
<fileSet>
<directory>${project.build.directory}${file.separator}lib</directory>
<outputDirectory>lib</outputDirectory>
<excludes>
<exclude>tomcat-embed*</exclude>
</excludes>
</fileSet>
<!-- copy all classes -->
<fileSet>
<directory>${project.build.directory}${file.separator}classes</directory>
<includes>
<include>**</include>
</includes>
<outputDirectory>${file.separator}</outputDirectory>
</fileSet>
</fileSets>
</assembly>
请注意,您必须使用生成的. zip
文件,而不是. jar
文件。
AWSLAPS提供了将Spring Boot 2与Lambda一起使用的完整工作示例:https://github.com/awslabs/aws-serverless-java-container/tree/master/samples/springboot2/pet-store
我很难让Autowired注释在我的spring boot应用程序中工作。 我也无法在包之外运行main方法。有什么建议吗? UserService类 UserRepository类
我对Spring和Spring Boot相当陌生,并被要求从事一个遗留的Spring Boot项目。我应该在项目中包括Spring Boot提供的一些FailureAnalyzer。根据我遇到的教程(比如这里),所需要做的就是在meta-inf/spring.factors文件中注册几个FailureAnalyzer类。 但是当我构建项目时(使用Maven),在target/meta-inf目录中
是否可以以某种方式配置Spring引导maven插件以包括来自依赖项的资源。 例如,如果在我的spring boot项目中,我有: 在这个JAR文件中有一个属性文件,如 结果1。 但是,当我构建SpringBootJAR时,这个属性文件并没有添加到。包含它的JAR包含在 然而,在我的情况下。我想将的内容提取到Spring BootJAR的引导目录中,这样就可以进行自动配置。 在现实世界中,我试图通
我的目标是建立一个简单的多模块项目,它使用Spring Boot2、Gradle4.x和Vaadin8.x作为UI。Vaadin目前只用于其中的一个子项目,其他的子项目提供服务或只是库。 我从这个非常好的Spring教程开始,它(尽管使用了旧的Gradle语法)产生了一个可以工作的测试项目。它包含一个“Libaray”子项目和一个依赖于前者的“Application”子项目。“bootrun”和“
这里是Android开发者新手。我在MainActivity中使用recyclerview,应用程序不断崩溃。 任何帮助都将受到赞赏! 编辑:对不起,我是新来的。我已经附加了Logcat。和其他xml文件。谢谢 这是我的代码: 列出你的布局。xml: activity_main.xml: } ProductAdapter。java类: } Logcat: 致命异常:主进程:e.wolverine2
我使用mysqld版本5.5.22-0ubuntu1 debian-linux-gnu在x86_64((Ubuntu))下Ubuntu 12.04.1 LTS(GNU/Linux3.2.0-24-通用x86_64)。更新是最新的。 我有两个事件工作正常,然后停电使服务器瘫痪。此后,如果/etc/mysql/my中的event_scheduler=ENABLED,mysql将不会启动。cnf: 我删