You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flink.apache.org by "zhenzhenhua (Jira)" <ji...@apache.org> on 2022/11/15 15:44:00 UTC
[jira] [Created] (FLINK-30031) flink table store run abnormally when shade flink
zhenzhenhua created FLINK-30031:
-----------------------------------
Summary: flink table store run abnormally when shade flink
Key: FLINK-30031
URL: https://issues.apache.org/jira/browse/FLINK-30031
Project: Flink
Issue Type: Bug
Affects Versions: table-store-0.2.1, 1.15.0
Reporter: zhenzhenhua
{color:#172b4d}I try to sink flink-table-store in Apache SeaTunnel, SeaTunnel use the Flink version is 13.6.{color}
{color:#172b4d}To avoid flink conflict,I use maven-shade-plugin plugin to shade flink dependency.{color}
{color:#172b4d}However, runing build jar to write flink-table-store occur error,throw exception:{color}
{code:java}
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/flink/table/store/codegen/CodeGenerator
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at org.apache.flink.table.store.codegen.ComponentClassLoader.loadClassFromComponentOnly(ComponentClassLoader.java:127)
at org.apache.flink.table.store.codegen.ComponentClassLoader.loadClass(ComponentClassLoader.java:106)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:370)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
at java.util.Iterator.forEachRemaining(Iterator.java:116)
at org.apache.flink.table.store.codegen.CodeGenLoader.discover(CodeGenLoader.java:123)
at org.apache.flink.table.store.codegen.CodeGenUtils.generateRecordComparator(CodeGenUtils.java:65)
at org.apache.flink.table.store.file.utils.KeyComparatorSupplier.<init>(KeyComparatorSupplier.java:40)
at org.apache.flink.table.store.file.KeyValueFileStore.<init>(KeyValueFileStore.java:59)
at org.apache.flink.table.store.table.ChangelogWithKeyFileStoreTable.<init>(ChangelogWithKeyFileStoreTable.java:103)
at org.apache.flink.table.store.table.FileStoreTableFactory.create(FileStoreTableFactory.java:72)
at org.apache.flink.table.store.table.FileStoreTableFactory.create(FileStoreTableFactory.java:50)
at org.example.TestWrite.main(TestWrite.java:24)
Caused by: java.lang.ClassNotFoundException: org.apache.flink.table.store.codegen.CodeGenerator
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at org.apache.flink.table.store.codegen.ComponentClassLoader.loadClassFromComponentOnly(ComponentClassLoader.java:127)
at org.apache.flink.table.store.codegen.ComponentClassLoader.loadClass(ComponentClassLoader.java:106)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
... 27 more
{code}
{code:java}
// pom.xml
<dependencies>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-table-store-core</artifactId>
<version>0.2.1</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-table-store-format</artifactId>
<version>0.2.1</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-table-common</artifactId>
<version>1.15.0</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-table-runtime</artifactId>
<version>1.15.0</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-connector-base</artifactId>
<version>1.15.0</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-shaded-jackson</artifactId>
<version>2.12.1-13.0</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-shaded-hadoop-2-uber</artifactId>
<version>2.7.5-10.0</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.3.2</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.1.1</version>
<configuration>
<!-- no create dependency-reduced-pom.xml-->
<createDependencyReducedPom>false</createDependencyReducedPom>
</configuration>
<executions>
<!-- Run shade goal on package phase -->
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<relocations>
<relocation>
<pattern>org.apache.flink</pattern>
<shadedPattern>shade.org.apache.flink</shadedPattern>
<excludes>
<exclude>org.apache.flink.table.store.**</exclude>
</excludes>
</relocation>
</relocations>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>{code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)