AWSラムダ関数を作成しましたが、AWSでデプロイメントをセットアップしようとしています。私はAWS CodeCommitに自分のコードを押すと、正常に実行されたプロセスを構築し、今AWS CodeBuildがファットjarの作成に失敗しました
version: 0.1
phases:
build:
commands:
- echo Entering build phase...
- echo Build started on `date`
- mvn package shade:shade
- mv target/classes/* .
- rm -rf target src buildspec.yml pom.xml
- aws cloudformation package --template template.json --s3-bucket $S3_BUCKET --output-template template-export.json
artifacts:
type: zip
files:
- template-export.json
をしかし、出力S3バケットにのみ130キロバイトの出力ファイルがある:私は、次の内容のbuildspec.ymlファイルを作成しました。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.3</version>
<configuration>
<createDependencyReducedPom>false</createDependencyReducedPom>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
Iを:私は日陰のプラグインを追加して、私のpom.xmlファイルで
Error loading class com.test.handler: org/apache/log4j/Logger: class java.lang.NoClassDefFoundError
:これは私の依存関係が作成したパッケージから欠落している、と私は私のラムダを実行しようとすることを意味し、私は次のエラーを得ました私のPC上でコマンドmvn package
を実行しても問題ありません。すべての依存関係(サイズは10MBを少し超えています)を含むjarファイルを取得し、このjarファイルをAWSラムダ関数に手動でデプロイすると、
また、このチュートリアルの後に試したところ、Linkでも何も変わりませんでした。
誰かが、私は本当に私がここで行方不明ですか分からない助けてください:/
ビルドログが何を言うのですか?彼らはあなたのPC上のログと異なるのですか? – Unsigned
問題の解決策を見つけました。 buildspec.ymlファイル(AWS CodeStarによって自動生成される)は無効です。詳細はこちら:https://forums.aws.amazon.com/thread.jspa?threadID=255273 – newbie