開発環境のセットアップ
このガイドは、Nettyを使用してアプリケーションを構築する「ユーザー」のためのものではなく、Netty自体を開発したい貢献者(「開発者」)のための「ユーザーガイド」ではないことに注意してください。
64ビットオペレーティングシステムを使用する必要があります。
AdoptOpenJDKまたはAzul Systemsなどのベンダーから提供されている64ビットOpenJDK 8以降、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部分)をビルドするには、cmake
、ninja-build
、およびgolang
パッケージもインストールします。Fedora / CentOSのninja-build
とgolang
は、Fedora EPELリポジトリで入手できます。
次に、コードをチェックアウトし、ビルド環境が./mvnw install -DskipTests -T1C
で動作することを確認します。これにより、ローカルのMavenキャッシュも準備され、後で個々のモジュールをビルドできます。
Nettyプロジェクトチームは、プライマリIDEとしてIntelliJ IDEAを使用していますが、コーディングスタイルに準拠している限り、他の開発環境を使用しても問題ありません。
64ビットオペレーティングシステムを使用している場合は、64ビットバージョンのIntelliJ IDEAを使用してください。たとえば、64ビットWindowsを使用している場合でも、スタートメニューのショートカットは32ビットバイナリを指しています。インストールディレクトリでidea64.exe
を見つけて、代わりに使用する必要があります。そうしないと、IntelliJ IDEAがio.netty:netty-tcnative:windows-x86_32
が見つからないと訴えます。
Nettyバージョン4.1以前は、最小限必要なJavaバージョンとしてJava 6をターゲットとしているため、Java 6バイトコードにコンパイルする必要があります。ただし、パフォーマンスのために、コードベースには、ランタイムバージョンチェックで適切に保護された、新しいJava APIへの参照も含まれています。このため、Nettyは--source
および--target
フラグを使用してコンパイルする必要がありますが、IntelliJはデフォルトで、APIバージョンチェックも有効にする新しい--release
フラグを代わりに使用します。
--release
フラグを使用すると、IntelliJがNettyプロジェクトをビルドするときにコンパイルエラーが発生するため、コンパイラ設定ダイアログで無効にする必要があります。
このコードスタイル設定をダウンロードし、Netty project.xml
を<IntelliJ config directory>/codestyles
ディレクトリに解凍します。「Netty project」をデフォルトのコードスタイルとして選択します。
このインスペクションプロファイルをダウンロード、解凍、インポートして、IntelliJ IDEAにインポートし、デフォルトとして使用します。インスペクションプロファイルのインポート方法については、こちらを参照してください。
変更によってインスペクションの警告が発生しないことを確認してください。誤検知と思われる場合は、IDEのガイダンスに従って、@SuppressWarnings
アノテーションまたはnoinspection
行コメントを使用して警告を抑制します。インスペクターの使用方法の詳細については、ウェブヘルプページを参照してください。
著作権テキスト
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://apache.dokyumento.jp/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
- 64ビットバージョンのEclipseを使用していることを確認してください。
-
m2eが
pom.xml
で指定された拡張機能を評価しない問題を回避するために、os-maven-pluginをダウンロードし、<ECLIPSE_INSTALLATION_DIR>/plugins
(Eclipse 4.5)または<ECLIPSE_INSTALLATION_DIR>/dropins
(Eclipse 4.6)ディレクトリに配置します。(名前とは異なり、MavenプラグインとEclipseプラグインの両方です。) - 「ファイル→インポート...→既存のMavenプロジェクト」メニューからプロジェクトをインポートします。
- NettyプロジェクトMavenの
pom.xml
設定では、Java SE 1.6の使用が規定されていますが、Java 7/8(1.7 / 1.8)機能が存在する場合は暗黙的に使用されます。これにより、Eclipseでコンパイルエラーが発生する可能性があります。この問題を回避するには、2つの方法があります - 「ウィンドウ→設定→インストールされたJRE」メニューをご覧ください。*「インストールされたJRE」にJava 7/8インストールが利用可能であることを確認してください*このJava 7/8インストールをJava 6にマップします。「インストールされたJRE→実行環境→Java SE 1.6」
- または、NettyモジュールごとにプロジェクトごとにJava 7/8 JREを選択できます。