The English version of quarkus.io is the official project site. Translated sites are community supported on a best-effort basis.

FAQ

Get answers to some of your common Quarkus questions.

使用什么许可证?

Quarkus是一个使用https://www.apache.org/licenses/LICENSE-2.0[Apache License 2.0版]授权的开源项目。

我在哪儿能获得到?

Quarkus发布在Maven Central中,请查看 扩展,只需将它们导入到 `pom.xml`中就可以获得Quarkus。我们建议您通过我们的 入门指南开始您的Quarkus体验。

Quarkus稳定吗?

是的,我们认为Quarkus是稳定的。请记住,Quarkus应用程序使用的95%的特性都是由Hibernate ORM, Eclipse Vert.x, Netty, RESTEasy等生态系统提供的。这些库是坚如磐石的 :)

您可以访问 code.quarkus.io 查看特定扩展是否为 stable (默认) or preview

什么是Quarkus扩展?

Quarkus的主要目标之一是易于扩展和构建一个充满活力的生态系统。

可以将Quarkus扩展视为您的项目依赖项。扩展可以配置、引导并将框架或技术集成到您的Quarkus应用程序中。它们还做了所有繁重的工作,为GraalVM提供正确的信息,以便应用程序本地编译。这将允许第三方项目轻松地利用我们所做的工作,使其更容易瞄准GraalVM。

什么是扩展状态?

扩展在进入Quarkus生态系统时具有不同程度的成熟度。状态提供了你可以依赖的期望。

Stable: backward compatibility and presence in the ecosystem are taken very seriously. An application can safely rely on these extensions. Extensions not marked as preview or experimental (the majority) are stable.

Preview: backward compatibility and presence in the ecosystem is not guaranteed. Specific improvements might require to change configuration or APIs and plans to become stable are under way. Such extensions are in the middle of their maturation process.

Experimental: early feedback is requested to mature the idea. There is no guarantee of stability nor long term presence in the platform until the solution matures. Such extensions are at the beginning of their maturation process.

Deprecated: backward compatibility and presence in the ecosystem is not guaranteed. Such extensions are likely to be replaced or removed in a future version of Quarkus.

您可以在 code.quarkus.io 或在扩展 手册中找到扩展状态。

我可以写一个扩展吗?

Quarkus团队会接受我的扩展吗?

噢,是的!我们在Quarkus "初始" 团队之外编写了相当多的扩展。

Quarkus是一个开放的生态系统,我们希望看到人们编写应用程序所需的所有扩展。我们正在工作,正如我们所说,允许一个扩展在单独的repo和单独的GAV中发布,从而在Maven repo中独立于Quarkus核心发布。这将大大简化发布过程,期待很快有新消息。

当前的一个限制是,扩展必须同时在OpenJDK和GraalVM本机可执行文件中工作。这是我们给Quarkus用户的保证(他们应用程序的交叉编译)。我们有一个成熟度模型来改进扩展,使其完全 "Quarked" ,并从Quarkus中受益,所有这些都是在增量步骤中完成的。请登录我们的 邮件列表 讨论您的想法并获得帮助。你也可以开始阅读我们的 编写扩展指南,或者更简单地从 现有的扩展 中获得灵感。

What is GraalVM?

GraalVM 是一个通用的虚拟机,用于运行用各种不同语言编写的应用程序,并提供将JVM字节码编译为原生可执行文件的能力(这个原生可执行文件运行一个名为SubstrateVM的特殊虚拟机)。与传统JVM相比,这些原生可执行文件启动速度更快,使用的内存也少得多,但是并不是所有JVM特性都得到支持,有些特性的限制比一般的要多。

例如,默认情况下,GraalVM中的反射将不能工作,除非类/成员已显式地为反射注册。这通常是通过列出JSON文件中的每个类、方法、字段和构造函数,并将其作为参数传递到原生镜像构建中实现的。显然,除了最简易的项目外,这对于所有项目来说都是相当麻烦的。Quarkus提供了一个框架,可以轻松地处理这些注解,并以编程的方式确定应该注册哪些内容。

How do you unify imperative and reactive programming?

What does Container First mean?

What is your view on standards?

What are you doing to improve developer joy?