Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mvn spring引导:运行结果为java.lang.LinkageError:加载程序约束冲突_Java_Spring_Spring Boot_Maven - Fatal编程技术网

mvn spring引导:运行结果为java.lang.LinkageError:加载程序约束冲突

mvn spring引导:运行结果为java.lang.LinkageError:加载程序约束冲突,java,spring,spring-boot,maven,Java,Spring,Spring Boot,Maven,我有一个运行良好的项目,我将它作为一个可执行的JAR运行。 但是,当我使用mvn spring boot:run时,我得到以下错误: exception in thread "Thread-129" java.lang.LinkageError: loader constraint violation: loader (instance of sun/misc/Launcher$AppClassLoader) previously initiated loading for a differe

我有一个运行良好的项目,我将它作为一个可执行的JAR运行。 但是,当我使用mvn spring boot:run时,我得到以下错误:

 exception in thread "Thread-129" java.lang.LinkageError: loader constraint violation: loader (instance of sun/misc/Launcher$AppClassLoader) previously initiated loading for a different type with name "org/test/DefaultIdAndText"
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at java.lang.Class.getDeclaredFields0(Native Method)
    at java.lang.Class.privateGetDeclaredFields(Class.java:2583)
    at java.lang.Class.getDeclaredFields(Class.java:1916)
    at com.fasterxml.jackson.databind.util.ClassUtil.getDeclaredFields(ClassUtil.java:1055)
    at com.fasterxml.jackson.databind.introspect.AnnotatedFieldCollector._findFields(AnnotatedFieldCollector.java:66)
    at com.fasterxml.jackson.databind.introspect.AnnotatedFieldCollector.collect(AnnotatedFieldCollector.java:41)
    at com.fasterxml.jackson.databind.introspect.AnnotatedFieldCollector.collectFields(AnnotatedFieldCollector.java:36)
    at com.fasterxml.jackson.databind.introspect.AnnotatedClass._fields(AnnotatedClass.java:349)
    at com.fasterxml.jackson.databind.introspect.AnnotatedClass.fields(AnnotatedClass.java:321)
    at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector._addFields(POJOPropertiesCollector.java:379)
    at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.collectAll(POJOPropertiesCollector.java:308)
    at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.getJsonValueAccessor(POJOPropertiesCollector.java:196)
    at com.fasterxml.jackson.databind.introspect.BasicBeanDescription.findJsonValueAccessor(BasicBeanDescription.java:251)
    at com.fasterxml.jackson.databind.ser.BasicSerializerFactory.findSerializerByAnnotations(BasicSerializerFactory.java:346)
    at com.fasterxml.jackson.databind.ser.BeanSerializerFactory._createSerializer2(BeanSerializerFactory.java:216)
    at com.fasterxml.jackson.databind.ser.BeanSerializerFactory.createSerializer(BeanSerializerFactory.java:165)
    at com.fasterxml.jackson.databind.SerializerProvider._createUntypedSerializer(SerializerProvider.java:1389)
    at com.fasterxml.jackson.databind.SerializerProvider._createAndCacheUntypedSerializer(SerializerProvider.java:1336)
    at com.fasterxml.jackson.databind.SerializerProvider.findValueSerializer(SerializerProvider.java:510)
    at com.fasterxml.jackson.databind.SerializerProvider.findTypedValueSerializer(SerializerProvider.java:713)
    at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:308)
    at com.fasterxml.jackson.databind.ObjectMapper._configAndWriteValue(ObjectMapper.java:3905)
    at com.fasterxml.jackson.databind.ObjectMapper.writeValueAsString(ObjectMapper.java:3219)
    at lambda$commit$0(EventStoreService.java:120)
    at java.util.concurrent.ConcurrentHashMap$EntrySpliterator.forEachRemaining(ConcurrentHashMap.java:3606)
    at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580)
我不能共享代码,因为它是专有的。 我确实有两次相同的库jar依赖关系(1次直接),1次通过另一个依赖关系。 我添加了一个排除项,但这似乎没有任何作用

奇怪的是,当我直接运行jar时,应用程序运行良好

更新 我还注意到以下几点。。。我认为这就是问题所在:

TomcatEmbeddedWebappClassLoader
  context: ROOT
  delegate: true
----------> Parent Classloader:
org.springframework.boot.devtools.restart.classloader.RestartClassLoader@79fe98a7

我将尝试禁用devtools类加载器并重新加载。

问题在于spring开发工具。 我必须删除它,并且删除它时将其从任何其他依赖项中排除

我首先运行以下命令并查看其位置,将其删除:

dependency:tree -Dverbose
接下来,我要么注释掉了依赖项,要么添加了以下排除项:

<exclusion>  <!-- declare the exclusion here -->
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-devtools</artifactId>
                </exclusion>

问题在于spring开发工具。 我必须删除它,并且删除它时将其从任何其他依赖项中排除

我首先运行以下命令并查看其位置,将其删除:

dependency:tree -Dverbose
接下来,我要么注释掉了依赖项,要么添加了以下排除项:

<exclusion>  <!-- declare the exclusion here -->
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-devtools</artifactId>
                </exclusion>

在生产代码?@khmarbaise中,包含
test
的名称对我来说很奇怪,这是一个数据迁移项目。另一个团队成员为一个次要依赖项
org.test
命名了一个包。它仍然是一个快照依赖项。谢谢你的评论。在生产代码中,包含
test
的名称对我来说很奇怪?@khmarbaise这是一个数据迁移项目。另一个团队成员为一个次要依赖项
org.test
命名了一个包。它仍然是一个快照依赖项。谢谢你的评论。