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: 向后兼容性和在生态系统中的存在被非常重视。应用程序可以安全地依赖于这些扩展。没有标记为预览或实验的扩展(大多数)是稳定的。

Preview: 不能保证向后兼容性和在生态系统中的存在。具体的改进可能需要改变配置、API和计划,使之变得 stable 。这些扩展还处于成熟过程的中间阶段。

Experimental: 尽早反馈,以使想法更加成熟。在解决方案成熟之前,无法保证平台的稳定性或长期存在。这些扩展正处于其成熟过程的开始阶段。

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?