我已经抓取了build.gradle.kts
以下文件的项目。
group = "kafka-serDe-demo"
version = "1.0"
repositories {
mavenCentral()
mavenLocal()
}
dependencies {
implementation(project(":common"))
implementation("com.linkedin.camus", "camus-kafka-coders", "0.1.6") {
exclude("org.apache.kafka", "kafka_2.11")
exclude("org.apache.kafka", "kafka_2.10")
exclude("org.apache.hadoop", "hadoop-client")
}
implementation("com.linkedin.camus", "camus-schema-registry-avro", "0.2.0"){
exclude("org.apache.hadoop", "hadoop-client")
exclude("org.apache.avro", "avro-ipc")
// exclude("org.eclipse.jetty", "jetty-servlet")
exclude("org.sonatype.sisu.inject", "cglib")
}
testImplementation("junit", "junit", "4.12")
}
configure<JavaPluginConvention> {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
下面是依赖图-
compileClasspath - Compile classpath for source set 'main'.
+--- project :common
+--- com.linkedin.camus:camus-kafka-coders:0.1.6
| +--- com.linkedin.camus:camus-schema-registry:0.1.6
| | +--- com.linkedin.camus:camus-api:0.1.6
| | +--- org.apache.avro:avro:1.7.7
| | | +--- org.codehaus.jackson:jackson-core-asl:1.9.13
| | | +--- org.codehaus.jackson:jackson-mapper-asl:1.9.13
| | | | \--- org.codehaus.jackson:jackson-core-asl:1.9.13
| | | +--- com.thoughtworks.paranamer:paranamer:2.3
| | | +--- org.xerial.snappy:snappy-java:1.0.5
| | | +--- org.apache.commons:commons-compress:1.4.1
| | | | \--- org.tukaani:xz:1.0
| | | \--- org.slf4j:slf4j-api:1.6.4 -> 1.7.7
| | \--- log4j:log4j:1.2.17
| +--- com.google.code.gson:gson:2.2.4 -> 2.3.1
| \--- joda-time:joda-time:2.2
\--- com.technorati.camus:camus-schema-registry-avro:0.2.0
+--- com.linkedin.camus:camus-api:0.1.6
+--- org.apache.avro:avro:1.7.7 (*)
+--- log4j:log4j:1.2.17
+--- org.apache.curator:curator-recipes:2.12.0
| \--- org.apache.curator:curator-framework:2.12.0
| \--- org.apache.curator:curator-client:2.12.0
| +--- org.apache.zookeeper:zookeeper:3.4.8
| | +--- org.slf4j:slf4j-api:1.6.1 -> 1.7.7
| | +--- log4j:log4j:1.2.16 -> 1.2.17
| | +--- jline:jline:0.9.94
| | \--- io.netty:netty:3.7.0.Final
| +--- com.google.guava:guava:16.0.1
| \--- org.slf4j:slf4j-api:1.7.6 -> 1.7.7
+--- org.slf4j:slf4j-api:1.7.7
+--- org.schemarepo:schema-repo-server:0.1.3
| +--- org.schemarepo:schema-repo-common:0.1.3
| | +--- org.slf4j:slf4j-api:1.7.7
| | \--- com.google.code.gson:gson:2.3.1
| +--- org.eclipse.jetty:jetty-server:8.1.14.v20131031
| | +--- org.eclipse.jetty.orbit:javax.servlet:3.0.0.v201112011016
| | +--- org.eclipse.jetty:jetty-continuation:8.1.14.v20131031
| | \--- org.eclipse.jetty:jetty-http:8.1.14.v20131031
| | \--- org.eclipse.jetty:jetty-io:8.1.14.v20131031
| | \--- org.eclipse.jetty:jetty-util:8.1.14.v20131031
| +--- org.eclipse.jetty:jetty-servlet:8.1.14.v20131031
| | \--- org.eclipse.jetty:jetty-security:8.1.14.v20131031
| | \--- org.eclipse.jetty:jetty-server:8.1.14.v20131031 (*)
| +--- com.google.inject:guice:3.0
| | +--- javax.inject:javax.inject:1
| | \--- aopalliance:aopalliance:1.0
| +--- com.google.inject.extensions:guice-servlet:3.0
| | \--- com.google.inject:guice:3.0 (*)
| +--- com.sun.jersey:jersey-server:1.15
| | +--- asm:asm:3.1
| | \--- com.sun.jersey:jersey-core:1.15
| +--- com.sun.jersey.contribs:jersey-guice:1.15
| | +--- javax.inject:javax.inject:1
| | +--- com.google.inject:guice:3.0 (*)
| | +--- com.google.inject.extensions:guice-servlet:3.0 (*)
| | \--- com.sun.jersey:jersey-servlet:1.15
| | \--- com.sun.jersey:jersey-server:1.15 (*)
| +--- org.slf4j:jul-to-slf4j:1.7.7
| | \--- org.slf4j:slf4j-api:1.7.7
| \--- org.freemarker:freemarker:2.3.21
\--- org.schemarepo:schema-repo-client:0.1.3
+--- org.schemarepo:schema-repo-common:0.1.3 (*)
\--- com.sun.jersey:jersey-client:1.15
\--- com.sun.jersey:jersey-core:1.15
下面是我的简单程序-
import org.schemarepo.server.RepositoryServer;
import java.util.Properties;
public class SchemaRepoDemo {
public static void main(String[] args) throws Exception {
Properties props = new Properties();
props.put("schema-repo.class", "com.technorati.camus.schemaregistry.ZooKeeperRepository");
props.put("schema-repo.zookeeper.ensemble", "kafka01.cap.qa.opal.synacor.com:2181,kafka02.cap.qa.opal.synacor.com:2181,kafka03.cap.qa.opal.synacor.com:2181");
RepositoryServer rs = new RepositoryServer(props);
rs.start();
}
}
运行此gradle应用程序时,出现以下异常-
16:42:01 INFO [org.schemarepo.server.RepositoryServer ] Routing java.util.logging traffic through SLF4J
Exception in thread "main" java.lang.SecurityException: class "javax.servlet.ServletRegistration$Dynamic"'s signer information does not match signer information of other classes in the same package
at java.lang.ClassLoader.checkCerts(ClassLoader.java:891)
at java.lang.ClassLoader.preDefineClass(ClassLoader.java:661)
at java.lang.ClassLoader.defineClass(ClassLoader.java:754)
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 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
at java.lang.Class.getDeclaredMethods(Class.java:1975)
at com.google.inject.spi.InjectionPoint.getInjectionPoints(InjectionPoint.java:662)
at com.google.inject.spi.InjectionPoint.forInstanceMethodsAndFields(InjectionPoint.java:356)
at com.google.inject.internal.ConstructorBindingImpl.getInternalDependencies(ConstructorBindingImpl.java:151)
at com.google.inject.internal.InjectorImpl.getInternalDependencies(InjectorImpl.java:585)
at com.google.inject.internal.InjectorImpl.cleanup(InjectorImpl.java:543)
at com.google.inject.internal.InjectorImpl.initializeJitBinding(InjectorImpl.java:529)
at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:847)
at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:772)
at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:256)
at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:205)
at com.google.inject.internal.InjectorImpl.getInternalFactory(InjectorImpl.java:853)
at com.google.inject.internal.InjectorImpl.getProviderOrThrow(InjectorImpl.java:967)
at com.google.inject.internal.LookupProcessor.visit(LookupProcessor.java:51)
at com.google.inject.internal.LookupProcessor.visit(LookupProcessor.java:30)
at com.google.inject.spi.ProviderLookup.acceptVisitor(ProviderLookup.java:54)
at com.google.inject.internal.AbstractProcessor.process(AbstractProcessor.java:55)
at com.google.inject.internal.AbstractProcessor.process(AbstractProcessor.java:44)
at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:142)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:106)
at com.google.inject.Guice.createInjector(Guice.java:95)
at com.google.inject.Guice.createInjector(Guice.java:72)
at com.google.inject.Guice.createInjector(Guice.java:62)
at org.schemarepo.server.RepositoryServer.<init>(RepositoryServer.java:97)
at SchemaRepoDemo.main(SchemaRepoDemo.java:9)
我尝试排除一些与servlet相关的依赖关系,但仍然是相同的例外。
有什么帮助吗?