3

このメッセージが表示されていますが、解決方法はわかりません。オンラインで検索し、その提案を実装しようとしましたが、まだ運がありません。 enter image description hereAWS Lambda:クラスjava.lang.ClassNotFoundException

私は基本的には、このリンクで指定された命令に続く - http://docs.aws.amazon.com/toolkit-for-eclipse/v1/user-guide/lambda-tutorial.html

をしかし、その代わりにEclipseで埋め込まAWS管理コンソールを使用してプロジェクトをアップロードするのは、私は私のプロジェクトのzipファイルを作成し、それをアップロードしてみましたAWS Webコンソール以下は

は私のプロジェクトの構造である - enter image description here

それであること!私がここでやろうとしていることは何も想像もしません。ラムダのHelloWorldの例です。 enter image description here

- ジッパーは、私は、コードタブの下にAWSのWebコンソールにアップロード作成されたら enter image description here

- 私はかなりまっすぐ進むEclipseであるzipファイルを、作成していますどのように

さて、これはあります

[設定]タブには、次のようなものになります - 私はexample.Helloクラスを見つけることができないテスト]ボタンをクリックしていたときに今 enter image description here

を。

どのようにラムダ関数がこのクラスを見つけるのが難しくなってきたのですか?誰もこの実行で間違っている可能性があるものを提案することはできますか?それが助け場合に

はまた、ログ文を添付 -

enter image description here

+2

は、私は次のように変更することによって、この問題を解決 - 私は::するメソッドのシグネチャを変更した まず、 を パブリック文字列のhandleRequest(地図<文字列、オブジェクト>入力、コンテキストコンテキスト) :: と第二、それをzipにエクスポートするのではなく、通常のjarにエクスポートしました。AWS Lambdaがこれらの2つの変更を行った後、クラスを見つけることができました。これがあなたの時間を助け、救うことを望みます。 – Rito

+0

ちょうど私が同じことを試して、ちょうどそれを圧縮したパッケージの代わりにs3にuber jarファイルをアップロードしてくれて、それは私のために働いた。 –

答えて

0

私は私のために働いたものを、同じ問題を抱えていたあなたは達人で日食からこれを実行している場合だった、あなたが持っていることを確認あなたのpom.xmlにプラグインを以下:あなたのターゲットディレクトリ内のJAR成果物を生成するmvn package shade:shade

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-shade-plugin</artifactId> 
    <version>3.0.0</version> 
    <executions> 
     <execution> 
     <phase>package</phase> 
     <goals> 
      <goal>shade</goal> 
     </goals> 
     <configuration> 
      <artifactSet> 
      <excludes> 
       <exclude>com.amazonaws:aws-lambda-java-events</exclude> 
       <exclude>com.amazonaws:aws-lambda-java-core</exclude> 
      </excludes> 
      </artifactSet> 
     </configuration> 
     </execution> 
    </executions> 
    </plugin> 

は、その後でプロジェクトを実行します。その後、日食はラムダに正しい瓶をアップロードする必要があります。

+0

私は似たような問題を抱えていて、不思議に思っていました...「陰影」は何で、なぜこれが問題を解決したと思いますか?申し訳ありませんが、私はJavaについては、私の深みから少し外れています。 – ken