Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.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
Java 如何解决启动Spring启动应用程序时出现的Gson builder错误_Java_Maven_Spring Boot_Gson - Fatal编程技术网

Java 如何解决启动Spring启动应用程序时出现的Gson builder错误

Java 如何解决启动Spring启动应用程序时出现的Gson builder错误,java,maven,spring-boot,gson,Java,Maven,Spring Boot,Gson,我正在编写一个新的Spring Boot应用程序,我需要使用一个由我的团队开发的包。此包在层次结构的某个位置具有较旧的Gson依赖项(我找不到),因此在运行我的应用程序时引发以下错误: NoSuchMethodError:com.google.gson.GsonBuilder.setLenient()Lcom/google/gson/GsonBuilder 我试着 在我的pom中,以强制执行最新版本 在DependencyManagement部分添加依赖项 排除Gson依赖项,如下所示: <

我正在编写一个新的Spring Boot应用程序,我需要使用一个由我的团队开发的包。此包在层次结构的某个位置具有较旧的Gson依赖项(我找不到),因此在运行我的应用程序时引发以下错误:

NoSuchMethodError:com.google.gson.GsonBuilder.setLenient()Lcom/google/gson/GsonBuilder

我试着

  • 在我的pom中,以强制执行最新版本
  • DependencyManagement
    部分添加依赖项

  • 排除Gson依赖项,如下所示:

    <dependency>
     <groupId>com.mycompany</groupId>
     <artifactId>services</artifactId>
     <version>${version}</version>
     <exclusions>
        <exclusion>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
        </exclusion>
     </exclusions>
    </dependency>
    
    
    com.mycompany
    

    我在这里拼命想理解的问题:

  • 为什么以前的选择不起作用
  • 如果我跳过Gson自动配置,我会失去什么?我该如何实现
  • 我们将非常感谢您在这方面提供的任何帮助。提前谢谢

    pom.xml

    <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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    
    <groupId>com.mycompany</groupId>
    <artifactId>myapp</artifactId>
    <version>1.0-SNAPSHOT</version>
    <name>myapp</name>
    
    
    <properties>
        <java.version>1.8</java.version>
        <spring.boot.version>2.1.7.RELEASE</spring.boot.version>
        <camel.version>2.24.1</camel.version>
        <lasius.wsutils.version>3.0.37</lasius.wsutils.version>
        <mysql.connector.version>5.1.47</mysql.connector.version>
    </properties>
    
    <!--<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.7.RELEASE</version>
    </parent>-->
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.apache.camel</groupId>
                <artifactId>camel-spring-boot-dependencies</artifactId>
                <version>${camel.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring.boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.google.code.gson</groupId>
                <artifactId>gson</artifactId>
                <version>2.8.5</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    
    
    <dependencies>
        <!--Spring Boot dependencies-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <!--<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>-->
        <!-- camel dependencies -->
        <dependency>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-undertow-starter</artifactId>
        </dependency>
    
        <!-- test dependencies -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    
        <!--being resolved from auth-->
        <!--<dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.9.9.3</version>
        </dependency>-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>${mysql.connector.version}</version>
        </dependency>
    
    
        <dependency>
            <groupId>com.mycompany</groupId>
            <artifactId>services</artifactId>
            <version>${version}</version>
            <exclusions>
                <exclusion>
                    <groupId>com.google.code.gson</groupId>
                    <artifactId>gson</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>
    
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>${spring.boot.version}</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>8</source>
                    <target>8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
    
    </project>
    
    
    4.0.0
    com.mycompany
    myapp
    1.0-快照
    myapp
    1.8
    2.1.7.发布
    2.24.1
    3.0.37
    5.1.47
    org.apache.camel
    camel-spring引导依赖项
    ${camel.version}
    聚甲醛
    进口
    org.springframework.boot
    spring启动依赖项
    ${spring.boot.version}
    聚甲醛
    进口
    com.google.code.gson
    格森
    2.8.5
    聚甲醛
    进口
    org.springframework.boot
    SpringBootStarterWeb
    org.springframework.boot
    弹簧靴起动器执行器
    org.apache.camel
    驼形弹簧靴起动器
    org.apache.camel
    驼峰式下拖起动器
    org.springframework.boot
    弹簧起动试验
    测试
    mysql
    mysql连接器java
    ${mysql.connector.version}
    com.mycompany
    服务
    ${version}
    com.google.code.gson
    格森
    org.springframework.boot
    springbootmaven插件
    ${spring.boot.version}
    重新包装
    org.apache.maven.plugins
    maven编译器插件
    8.
    8.
    
    您可以查看自动配置实现:-通常它会为您的applicationContext引导一个bean和一些属性。您可以在您的配置中自己完成。但我不明白为什么你的选择1不起作用。您是否将其添加到正确的模块中?maven的最短路径算法应该已经解决了这种依赖关系。您使用了较新的json版本还是较旧的版本?请共享您的pom,以便我们检查…@wemu我添加了较新的版本,如pom.xml中所示。也许“mvn dependency:tree”可以给出一个提示,说明为什么直接添加依赖项没有效果。我也有同样的问题。我也尝试了所有这三种修复方法,但都没有成功。有人找到解决办法了吗?