Verlegen von fastxml.jackson-Klassen in my.package.fastxml.jackson

Ich versuche, die Pakete von "com.fasterxml.jackson" in mein eigenes Paket (dh "mypackage.com.fasterxml.jackson") zu verschieben und sie dann in einer anderen JAR zu konsumieren, die ich besitze.

Ich habe es geschafft, das Maven-Shade-Plugin mit dieser Konfiguration auszuführen:

<plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>shade</goal>
                    </goals>
                    <configuration>
                        <shadedArtifactAttached>false</shadedArtifactAttached>
                        <createDependencyReducedPom>true</createDependencyReducedPom>
                        <relocations>
                            <relocation>
                                <pattern>com.fasterxml.jackson</pattern>
                                <shadedPattern>mypackage.com.fasterxml.jackson</shadedPattern>
                            </relocation>
                        </relocations>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>

Das Problem, vor dem ich stehe, ist, wenn ich versuche, es zu konsumieren. Aus irgendeinem Grund fügt Eclipse dem ursprünglichen Jackson ("mypackage.com.fasterxml.jackson") weiterhin eine Abhängigkeit hinzu und nicht dem neuen.

Um ganz klar zu sein, mein Setup ist: - Jar X hat eine Abhängigkeit von ThirdPartyArtifcats. - ThirdPartyArtifcats verweist auf Jackson und führt das Maven-Shading-Plugin aus. Daher enthält es eine modifizierte Version von Jackson (mypackage.com.fasterxml.jackson).

Wenn ich versuche, Jacksons ObjectMapper in Jar X zu verwenden, gibt Eclipse weiterhin einen Verweis auf den ursprünglichen Jackson.

Ich werde Ihre Hilfe schätzen!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage