跳过导航

设置开发环境

您是否知道此页面是根据 Github Wiki 页面 自动生成的?您可以在 此处 自行改进!
正在寻找教程?请访问 文档主页有问题?请在 StackOverflow.com 上提问。

请注意,本指南不是“用户指南”。它不是为使用 Netty 构建应用程序的“用户”准备的,而是为希望开发 Netty 本身的贡献者(“开发人员”)准备的。

使用 64 位操作系统

您必须使用 64 位操作系统。

安装必要的构建工具

您必须在您的机器上安装 64 位 OpenJDK 8 或更高版本(来自 AdoptOpenJDKAzul Systems 等供应商)、Apache Maven 3.1.1 或更高版本以及 Git

如果您使用 Linux,则必须安装以下软件包

# yum install lsb-core autoconf automake libtool make tar \
              glibc-devel libaio-devel openssl-devel apr-devel \
              lksctp-tools

# apt-get install autoconf automake libtool make tar \
                  libaio-dev libssl-dev libapr1-dev \
                  lksctp-tools

或者,如果您使用 MacOS

brew install autoconf automake libtool openssl

并且需要关注 git 的配置。如果您使用 Windows,则在您检出代码时,LF 将自动转换为 CRLF

git config --global core.autocrlf true

或者,如果您使用 MacOS,则在您提交代码时,CRLF 将自动转换为 LF

git config --global core.autocrlf input

您还可以查看 构建本机传输 以获取更多信息。

要构建 netty-tcnative(即 BoringSSL 部分),还需要安装 cmakeninja-buildgolang 软件包。Fedora/CentOS 中的 ninja-buildgolang 可在 Fedora EPEL 存储库中找到。

验证构建

然后检出代码,并使用 ./mvnw install -DskipTests -T1C 验证您的构建环境是否正常工作。这还将预加载您的本地 Maven 缓存,以便您稍后构建各个模块。

设置 IntelliJ IDEA

Netty 项目团队使用 IntelliJ IDEA 作为主要 IDE,尽管我们对使用其他开发环境没有意见,只要您遵守我们的编码风格即可。

使用与您的操作系统相同的位版本

如果您使用的是 64 位操作系统,请使用 64 位版本的 IntelliJ IDEA。例如,即使您使用的是 64 位 Windows,开始菜单快捷方式也会指向 32 位二进制文件。您必须在安装目录中找到 idea64.exe 并使用它。否则,您会看到 IntelliJ IDEA 抱怨找不到 io.netty:netty-tcnative:windows-x86_32

取消选中 Use --release … 编译器设置

Netty 4.1 及更低版本将 Java 6 作为最低必需的 Java 版本,因此需要编译为 Java 6 字节码。但是,为了性能,代码库还包括对较新 Java API 的引用,并使用运行时版本检查进行了适当的保护。出于此原因,Netty 必须使用 --source--target 标志进行编译,但 IntelliJ 将默认使用较新的 --release 标志,这也启用 API 版本检查。

使用 --release 标志会导致 IntelliJ 在构建 Netty 项目时产生编译错误,因此必须在 编译器设置对话框 中禁用它。

代码风格

下载 此代码风格配置,并将 Netty project.xml 解压到 <IntelliJ config directory>/codestyles 目录中。选择“Netty project”作为默认代码风格。

检查配置文件

下载、解压并导入 此检查配置文件 到您的 IntelliJ IDEA 中,并将其用作默认配置文件。请参阅 此处 了解如何导入检查配置文件。

确保您的修改不会引入任何检查警告。如果您认为这是一个误报,请使用 @SuppressWarnings 注解或 noinspection 行注释(由 IDE 指导)来抑制警告。有关使用检查器的更多信息,请参阅 Web 帮助页面

版权配置文件

版权文本

Copyright $today.year The Netty Project

The Netty Project licenses this file to you under the Apache License,
version 2.0 (the "License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at:

  https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.

检测注释中版权的关键字

The Netty project licenses

允许在旧版权包含的情况下替换版权

The Netty project licenses

使用 M2E 和 Java 7/8 设置 Eclipse

  1. 确保您使用的是 Eclipse 的 64 位版本。
  2. 下载 os-maven-plugin 并将其放入 <ECLIPSE_INSTALLATION_DIR>/plugins(Eclipse 4.5)或 <ECLIPSE_INSTALLATION_DIR>/dropins(Eclipse 4.6)目录中,以解决 m2e 无法评估我们 pom.xml 中指定的扩展的问题。(与它的名称不同,它既是 Maven 插件,也是 Eclipse 插件。)
  3. 通过“文件 → 导入... → 现有 Maven 项目”菜单导入项目。
  4. Netty 项目 Maven pom.xml 设置规定使用 Java SE 1.6,同时隐式使用 Java 7/8(1.7/1.8)功能(如果存在)。这可能会导致 Eclipse 中出现编译错误。有两种方法可以解决此问题
  5. 在“窗口 → 首选项 → 已安装的 JRE”菜单中查找:* 确保您在“已安装的 JRE”下有可用的 Java 7/8 安装 * 将此 Java 7/8 安装映射到 Java 6:“已安装的 JRE → 执行环境 → Java SE 1.6”
  6. 或者,可以针对每个 Netty 模块按项目选择 Java 7/8 JRE。
上次检索于 2024 年 7 月 19 日