首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >未找到的类: org.springframework.cloud.function.adapter.aws.FunctionInvoker

未找到的类: org.springframework.cloud.function.adapter.aws.FunctionInvoker
EN

Stack Overflow用户
提问于 2022-09-07 12:42:56
回答 2查看 461关注 0票数 0

我使用的是Spring函数3.2.6版本。我已经将jar的zip文件上传到了S3桶中,然后尝试使用S3 URI上传到AWS。在成功地更新jar之后,我得到了以下错误。

代码语言:javascript
运行
复制
{
  "errorMessage": "Class not found: 
  org.springframework.cloud.function.adapter.aws.FunctionInvoker",
  "errorType": "java.lang.ClassNotFoundException"
}

START RequestId: 7b189d8c-c597-4335-b598-76b9b3a1f639 Version: $LATEST
Class not found: org.springframework.cloud.function.adapter.aws.FunctionInvoker: 
java.lang.ClassNotFoundException
java.lang.ClassNotFoundException: 
org.springframework.cloud.function.adapter.aws.FunctionInvoker. Current classpath: 
file:/var/task/

下面是我的POM.xml

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
 <modelVersion>4.0.0</modelVersion>
 <parent>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-parent</artifactId>
     <version>2.7.1</version>
     <relativePath/> <!-- lookup parent from repository -->
 </parent>
 <groupId>com.acko</groupId>
 <artifactId>phoenix</artifactId>
 <version>0.0.1-SNAPSHOT</version>
 <packaging>pom</packaging>
 <name>phoenix</name>
 <description>phoenix</description>
 <properties>
     <java.version>14</java.version>
     <wrapper.version>1.0.27.RELEASE</wrapper.version>
     <aws-lambda-events.version>3.11.0</aws-lambda-events.version>
     <spring-cloud-function.version>3.2.6</spring-cloud-function.version>
 </properties>
 <dependencies>
     <dependency>
         <groupId>org.springframework.cloud</groupId>
         <artifactId>spring-cloud-function-adapter-aws</artifactId>
         <version>3.2.6</version>
     </dependency>
     <dependency>
         <groupId>com.amazonaws</groupId>
         <artifactId>aws-lambda-java-events</artifactId>
         <version>${aws-lambda-events.version}</version>
         <scope>provided</scope>
     </dependency>

     <dependency>
         <groupId>com.amazonaws</groupId>
         <artifactId>aws-lambda-java-core</artifactId>
         <version>1.2.1</version>
         <scope>provided</scope>
     </dependency>
 </dependencies>

 <dependencyManagement>
     <dependencies>
         <dependency>
             <groupId>org.springframework.cloud</groupId>
             <artifactId>spring-cloud-function-dependencies</artifactId>
             <version>${spring-cloud-function.version}</version>
             <type>pom</type>
             <scope>import</scope>
         </dependency>
     </dependencies>
 </dependencyManagement>

 <build>
     <plugins>
         <plugin>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-maven-plugin</artifactId>
             <dependencies>
                 <dependency>
                     <groupId>org.springframework.boot.experimental</groupId>
                     <artifactId>spring-boot-thin-layout</artifactId>
                     <version>${wrapper.version}</version>
                 </dependency>
             </dependencies>
         </plugin>
         <plugin>
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-deploy-plugin</artifactId>
             <configuration>
                 <skip>true</skip>
             </configuration>
         </plugin>
         <plugin>
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-shade-plugin</artifactId>
             <dependencies>
                 <dependency>
                     <groupId>org.springframework.boot</groupId>
                     <artifactId>spring-boot-maven-plugin</artifactId>
                     <version>2.7.1</version>
                 </dependency>
             </dependencies>
             <configuration>
                 <createDependencyReducedPom>false</createDependencyReducedPom>
                 <shadedArtifactAttached>true</shadedArtifactAttached>
                 <shadedClassifierName>aws</shadedClassifierName>
                 <transformers>
                     <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                         <resource>META-INF/spring.handlers</resource>
                     </transformer>
                     <transformer
                             implementation="org.springframework.boot.maven.PropertiesMergingResourceTransformer">
                         <resource>META-INF/spring.factories</resource>
                     </transformer>
                     <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                         <resource>META-INF/spring.schemas</resource>
                     </transformer>
                 </transformers>
             </configuration>
         </plugin>
     </plugins>
 </build>
 <modules>
     <module>alpha</module>
 </modules>
 </project>

我正在使用最新版本的spring函数,并试图在AWS中运行它。FunctionInvoker类不存在的一些原因。请务必让我知道我错过了什么。

EN

回答 2

Stack Overflow用户

发布于 2022-09-07 13:06:36

Stack Overflow用户

发布于 2022-09-22 09:51:47

这个问题与包装无关。这有点奇怪,因为当zar被推到S3时,S3引用就会给出它不调用的lambda。但是如果你直接将罐子添加到lambda中,那么它就会调用,lambda就会像魅力一样运行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73635732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档