泉ネイティブベータ0.10
8877 ワード
概説
この記事はSpring Native 0.10.6 BETAドキュメントに基づいています.
バージョン2411はですが、バージョン0.11がリリースされました.11新しいAheadofTime(AOT)エンジンで多くの改善のため.この記事でVersion 0.11 sectionをチェックしてください.
だから、この最初のバージョンの利点と制限を見てみましょう.私は、公式ドキュメンテーションの完全なoverview節をチェックすることを勧めます.
常にいくつかの制限と非互換性を持っているベータ版で働いていることを心に留めておいてください.公式ドキュメンテーションでは、最も一般的な問題のtroubleshooting guideを見つけることができます.また、examplesのissues & github projectを見てください.
事前の要件
スプリングブート互換性
制限
https://www.graalvm.org/reference-manual/native-image/Limitations/
ビルドまたはネイティブビルドツールでネイティブの春
この記事では、両方とも、with Buildpacksにおいて、ガイドwith Native Build ToolsとSpring Native Documentationを開始することになる.
あなたが好きならこの記事のプロジェクトをクローン化できます.
git clone https://github.com/davidgfolchApium/spring-native-beta.git
cd spring-native-beta
これは、春のネイティブドキュメントで使用されるのと同じREST APIの例ですが、両方のビルドに必要なすべての変更.でビルド
これにより、1つのコマンドラインでビルド&実行することができます
mvn spring-boot:build-image
それは春の生態系でいつものように箱から働きました.初めてそのプロセスを終えるのに30分かかりました.
あなたは休憩に行くことができます.
次のビルドはkbuildに移動する必要があります.
その後、実行します.
docker run --rm -p 8080:8080 rest-service-complete:0.0.1-SNAPSHOT
そして、それをチェックしてください
{"id":1,"content":"Hello, World!"}
http://localhost:8080/greetingネイティブビルドツール
私たちは同じプロジェクトを使用しますが、直接graalvmをインストールします.GraalVMをインストールするには、 (推奨オプション)とJDKに固有の拡張機能が必要です.
sdk install java 21.2.0.r8-grl
sdk use java 21.2.0.r8-grl
gu install native-image
パッケージ固有のアプリケーションmvn -Pnative -DskipTests package
sdkman実行する
./target/spring-native-beta
そして、それをチェックしてください
{"id":1,"content":"Hello, World!"}
時間前に
我々は、フィートの印刷を減らすためにいくつかの春のAOTのオプションは、いくつかはすでに無効になっている/デフォルトで有効になっていることができます.
http://localhost:8080/greeting
ネイティブのヒント
ネイティブのヒントを使用していくつかの問題を回避する必要があります.
スプリング・ネイティブによってサポートされていない
春ネイティブAOTのプラグインはすべての*を生成します.プロパティ&*.メタINF/ネイティブイメージで必要とされるJSON構成ファイル.
このアプリケーションの特定の構成は、プロパティファイルまたは注釈付きで設定できます( プロジェクトを参照).
configure
サンプルリポジトリ
この において、我々はいくつかの局面の「芸術の状態」をチェックすることができます.
ペットクリニックのWebアプリはそれらのいくつかを統合します.
spring-native-configuration
ネイティブイメージオプション
いくつかのgraalvmオプションは春によってデフォルトされます、そして、いくつかは「 」と呼ばれています.そして、これらの中で、私たちは、我々が我々がこのプロトコルでサーブしなければならないかどうか指定する必要がある- enable - httpsを言います.
source repository examples
追跡エージェント
それは私たちの新しいアプリケーションやライブラリを使用するために必要なすべてのネイティブのヒントを生成するのに役立つ“偉大な”ツールであるようだ.
バージョン0.11
このUseful optionsでは、AOTエンジンが変更されました.
より良いスタートアップ&メモリの改善、互換性の改善が、より少ない実行時の柔軟性.
Junit 5と (MocKitoはまだサポートされていない)と新しい“AOTテストサポート”.
スプリングは既にこの新しいバージョンを標準に統合する「スプリングブート3ネイティブサポート」を計画しています.
Reference
この問題について(泉ネイティブベータ0.10), 我々は、より多くの情報をここで見つけました https://dev.to/apium_hub/exploring-spring-native-beta-010-011-4j57テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol