JavaRush /Java Blog /Random-JA /Maven を使用してライブラリを接続する
Дмитрий Яковенко
レベル 35
Москва

Maven を使用してライブラリを接続する

Random-JA グループに公開済み
Maven を使用したライブラリの接続 - 1 問題 JavaRush は、JDK8 に含まれていたいくつかのパッケージを使用していますが、その後それらはカットされました。たとえば、ゲームには JavaFX、XML 処理には JAXB です。したがって、新しいバージョンの JDK を使用している場合は、問題が発生します...しかし、古い学校の JDK8 を使用している場合でも、問題は発生します...クエスト 4 コレクションでは、Jackson に接続する必要がありますJSONを処理します。もちろん、すべてを手動で接続することもできますが、それはかなり退屈です。これらを手動でダウンロードし、プロジェクトに追加する必要があります... 解決策 実際、このルーチンを自動化するには Maven が必要です。0) JavaRush プロジェクトのバックアップ コピーを作成することを強くお勧めします。そうしないとわかりません... 1) まず、Maven をプロジェクトに追加しましょう。4.JavaCollections モジュールを右クリックし、[Add Framework Support] を選択します。Maven、[Ok] 2) pom.xml ファイルが見つかったので、そのファイルに手動でブロックを追加します。
<dependencies>
</dependencies>
</version> の直後 3) そして、必要なパッケージの追加を開始します。Jeckson が必要な場合は、「jackson maven dependency」でグーグル検索します。次のような答えが見つかります。 http://tutorials.jenkov.com/java-json/jackson-installation.html Jeckson の場合、3 つの依存関係 (artifactId) が必要であることがわかります。 : jackson-core、jackson-annotations、jackson-databind 他にも依存関係がありますが、まだ必要ありません。必要になったら追加します。次に、このサイト ( https://mvnrepository.com/ ) でこれら 3 つの依存関係を探します。 そこにアーティファクトの名前を入力し、大多数が使用しているもの、または最新バージョンを見つけます。そして、依存関係テキストを pom.xml にコピーします。4) 全体として、pom.xml は次のようになりました。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>groupId</groupId>
    <artifactId>4.JavaCollections</artifactId>
    <version>1.0-SNAPSHOT</version>
    <dependencies>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.12.3</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
            <version>2.12.3</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.12.3</version>
        </dependency>
    </dependencies>


</project>
素晴らしいですね。それを右クリックして、Maven/Reimport を選択します。5) 現在、ジェクソンは私たちのプログラムに含まれており、オブジェクトの赤い名前は消えています。しかし、コードはコンパイルを停止し、エラーが書き込まれます。
Error:java: error: release version 5 not supported
何らかの理由で、Maven をプロジェクトに導入すると、サポートされている Java のバージョンが 5 に下がります...これを修正する必要があります: File\Settings\Build, Execution, Deployment\Compiler\Java Compiler モジュール内に次のように示されています。モジュール 4.JavaCollections の場合 - Java5 でコーディングする必要があります... このウィンドウでモジュールを削除します。しかし、それだけではありません。次に、File\Project Structure\Modules を開き、モジュール 4.JavaCollections を選択します。次に、「言語レベル - プロジェクトのデフォルト」タブを選択します。5.1) ポイント 5 の問題を解決する方法が見つかりました。以下を pom.xml に追加するだけです。
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>
これで、Maven はモジュールのバイトコード バージョンを JDK 8 に設定し、これで満足です。5 番目のポイントは削除せず、一般的な情報として残しました。IDEA のどこでどの JDK バージョンを変更できるかを理解できるようにするため 6) プロジェクトのデフォルトについて。JavaRush は JDK 8 で実行されます。また、バージョン 11 (またはそれ以降) を使用している場合は、コードを渡さないバリデーターを定期的に非難することになります。JDK 9 以降で入力したコードを記述するため、すべてが機能しますが、Validator ではエラーが表示されます。したがって、次のように移動します: File\Project Structure\Project JDK の現在のバージョンを示し、その下に言語レベル (厳密には 8) を示します (ラムダ、型アノテーションなど)。利点は何ですか - JDK 9 以降の機能が表示されますが、それらを追加しようとすると、IDEA が呪います。たとえば、「aaa」.lines(); - 書くことはできます (赤で強調表示されますが、IDEA がそれを置き換えます)、失敗することもできます - 内部を調べてください。しかし、これではコンパイルできません。7) 最後に行う必要があるのは、4.JavaCollections パッケージ内のパスを修正することです。Maven がそれらを自分用に作り直したので、そのまま返します: a) File\Project Structure\Modules に移動します。 b) 4.JavaCollections\Source を選択します。 c) ターゲット、リソース、テストを削除します。 d) ソース フォルダーを src に配置します。 e) ソース フォルダーを移動します。 com フォルダをディスクにコピーし、src に戻します。 e) メイン フォルダが削除されます。一般に、3.JavaMultithreading と同様に、Maven 以前と同様に実行します。 8) ここで、たとえば JAXB などの残りの依存関係を自分で追加します。ログを追加する必要がある場合は、私の記事が役に立ちます。それを履歴書に追加します - Maven。あなたは素晴らしいです!それが役に立った場合 - いいね、購読、ベル!)))
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION