预览使用 Quarkus 开始编码的新方式
您是否曾使用 Maven 插件或 code.quarkus.io 生成过 Quarkus 项目?
如果您这么做过,那么您可能想知道,面对 Quarkus 如此广泛的扩展,为什么我们只允许您生成一个 REST API 示例应用程序。当然,您可以选择将哪些扩展作为应用程序的依赖项,这很酷,因为有些扩展在无需额外代码的情况下就能提供新功能。但是,有些扩展也需要配置和/或代码才能工作,这使得它当前的适用性非常有限。
隆重推出我们的新代码生成系统
因此,我们非常激动地在 Quarkus 1.7.0.Final 中推出我们新代码生成系统的预览版。它被称为 Codestarts。这个想法很简单,您选择您的扩展,它们就能提供示例代码来帮助您入门。
这个预览版本仅仅是一个开始,包含了三个示例 codestarts
-
Java、Kotlin 和 Scala 中的传奇 RESTEasy 示例,当您选择 RESTEasy 扩展时
-
Java 中可爱而甜蜜的 Qute 模板引擎,当您选择 Qute 扩展时
-
Java 中强大而坚固的 Quarkus Command Mode,当您不选择任何提供示例的扩展时
想试试吗?
我们在 Quarkus Maven 插件中添加了一个功能标志来创建您的应用程序
mvn io.quarkus:quarkus-maven-plugin:create -DcodestartsEnabled`
使用 Maven 作为构建工具的 Command Mode Quarkus 项目
mvn io.quarkus:quarkus-maven-plugin:create -DcodestartsEnabled \
-DprojectGroupId=org.acme -DprojectArtifactId=go-go-commando
cd go-go-commando
# ./mvnw.cmd on Windows
./mvnw package
java -jar target/go-go-commando-1.0-SNAPSHOT-runner.jar
与之前使用 Gradle 作为构建工具的相同
mvn io.quarkus:quarkus-maven-plugin:create -DcodestartsEnabled \
-DprojectGroupId=org.acme -DprojectArtifactId=go-go-commando-gradle \
-DbuildTool=GRADLE
cd go-go-commando-gradle
# ./gradlew.bat on Window
./gradlew build
java -jar build/go-go-commando-gradle-1.0-SNAPSHOT-runner.jar
使用 Kotlin 编写的 Quarkus 项目,包含 RESTEasy 和 Qute 示例
mvn io.quarkus:quarkus-maven-plugin:create -DcodestartsEnabled \
-DprojectGroupId=org.acme -DprojectArtifactId=kotlin-with-rest-is-qute \
-Dextensions=kotlin,resteasy,qute
cd kotlin-with-rest-is-qute
# ./mvnw.cmd on Windows
./mvnw quarkus:dev
使用 SmallRye Reactive Messaging Kafka 的空白 Scala Quarkus 项目
mvn io.quarkus:quarkus-maven-plugin:create -DcodestartsEnabled \
-DprojectGroupId=org.acme -DprojectArtifactId=scala-kafka \
-Dextensions=scala,quarkus-smallrye-reactive-messaging-kafka \
-DskipExample
cd scala-kafka
# ./mvnw.cmd on Windows
./mvnw quarkus:dev
我们在新项目 README.md 中添加了入门说明(根据您选择的扩展和构建工具而定)。 |
使用您喜欢的工具/扩展启动一个空白 Quarkus 应用程序
Codestarts 还带来了一个巨大的改进 😅,别笑,这是社区长期以来的一个合理要求,使用 Codestarts,您可以通过添加:-DskipExample
来生成一个空白 Quarkus 应用。
您可能会注意到 Codestarts 缺少一些功能
-
生成的示例的包名现已固定为
org.acme
,我们认为使其可自定义不会增加太多价值,但如果您觉得这是一个损失,请告诉我们。 -
由于一个项目将包含多个示例,我们必须避免冲突,因此您不能再在应用程序中定义 REST
path
了。
贡献示例 Codestart
如果您有一个扩展并希望为其提供 codestart
如果您有任何问题或建议,请随时通过 Zulip 或 Quarkus Development 邮件列表 联系我们。
以下是用于构建 Quarkus 应用程序的 Codestarts 核心代码,以及 基础 codestarts。 |