Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

java.lang.NoSuchFieldError: Companion at com.squareup.okhttp3.internal.Util

オープン
#934 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
25/100
issue の種類
バグ
明瞭さ
説明が足りない
活発さ
停滞
技術スタック
java
領域
api

調査の方向性

pom.xml、特に influxdb-java 依存関係と Maven Shade Plugin の relocation から始め、報告された失敗を InfluxDBFactory.connect から shaded okhttp3 クラスまで追跡します。指定された Spark 環境で NoSuchFieldError を再現し、クライアントが正常に初期化されるために必要な依存関係または shading の変更を特定します。

索引モデルが issue の本文から書いたものです。

説明

The pom.xml that my project used is shown below

<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>xx</groupId>
        <artifactId>xxx</artifactId>
        <version>xxxx</version>
    </parent>
    <artifactId>xxx</artifactId>

    <dependencies>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.15</version>
        </dependency>
        <dependency>
            <groupId>commons-collections</groupId>
            <artifactId>commons-collections</artifactId>
            <version>3.2.1</version>
        </dependency>
        <dependency>
            <groupId>org.influxdb</groupId>
            <artifactId>influxdb-java</artifactId>
            <version>2.21</version>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>8</source>
                    <target>8</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>3.2.4</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <relocations>
                                <relocation>
                                    <pattern>okhttp3</pattern>
                                    <shadedPattern>flink.influxdb.shaded.okhttp3</shadedPattern>
                                </relocation>
                            </relocations>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

I have make sure that no other okhttp3 version exists in the repo, and the only okhttp3 version I am using is 4.9.0 (which is introduced by influxdb-java). To avoid any possible conflict, I have shaded the okhttp3 path.

I am running the job in a spark environment, and I encountered the error shown below,

23/05/16 11:58:10 ERROR ApplicationMaster: User class threw exception: java.lang.NoSuchFieldError: Companion
java.lang.NoSuchFieldError: Companion
	at flink.influxdb.shaded.okhttp3.internal.Util.<clinit>(Util.kt:71)
	at flink.influxdb.shaded.okhttp3.internal.concurrent.TaskRunner.<clinit>(TaskRunner.kt:309)
	at flink.influxdb.shaded.okhttp3.ConnectionPool.<init>(ConnectionPool.kt:41)
	at flink.influxdb.shaded.okhttp3.ConnectionPool.<init>(ConnectionPool.kt:47)
	at flink.influxdb.shaded.okhttp3.OkHttpClient$Builder.<init>(OkHttpClient.kt:471)
	at org.influxdb.InfluxDBFactory.connect(InfluxDBFactory.java:30)
主要言語
Java
スター
1.2k
フォーク
468
PR マージ指標
30日以内にマージされた PR はありません

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

influxdata/influxdb-java のほかの issue

influxdata/influxdb-java の issue をすべて見る

似ている issue

Java の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。