使用Maven构建Spring引导应用程序遇到Java版本问题

使用Maven构建Spring引导应用程序遇到Java版本问题,java,spring,spring-boot,maven,maven-release-plugin,Java,Spring,Spring Boot,Maven,Maven Release Plugin,我试图使用maven build构建一个应用程序。尽管我已将pom.xml文件放置到位,但它仍返回此构建失败。 我已经在没有任何问题的情况下配置了pom。但是我可以看到返回模式时出现了一些错误。但是没有太多关于这方面的信息 [INFO] Scanning for projects... [WARNING] [WARNING] Some problems were encountered while building the effective model for com.amazon:amaz

我试图使用maven build构建一个应用程序。尽管我已将pom.xml文件放置到位,但它仍返回此构建失败。 我已经在没有任何问题的情况下配置了pom。但是我可以看到返回模式时出现了一些错误。但是没有太多关于这方面的信息

[INFO] Scanning for projects...
[WARNING] 
[WARNING] Some problems were encountered while building the effective model for com.amazon:amazon:jar:0.0.1-SNAPSHOT
[WARNING] 'dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: org.springframework.boot:spring-boot-starter-test:jar -> duplicate declaration of version (?) @ line 65, column 15
[WARNING] 
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING] 
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING] 
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building MyApplication 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-resources-plugin:3.0.1:resources (default-resources) @ amazon ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO] Copying 0 resource
[INFO] 
[INFO] --- maven-compiler-plugin:3.7.0:compile (default-compile) @ amazon ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 6 source files to /Users/Arun/Documents/SpringBoot/MyApplication/target/classes
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.051 s
[INFO] Finished at: 2018-06-09T08:00:55-07:00
[INFO] Final Memory: 25M/220M
[INFO] ------------------------------------------------------------------------
[WARNING] The requested profile "pom.xml" could not be activated because it does not exist.
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile (default-compile) on project amazon: Fatal error compiling: invalid target release: 1.8.0_73 -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
下面是我目前正在使用的pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<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.amazon</groupId>
    <artifactId>amazon</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>MyApplication</name>
    <description>Demo project</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.2.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8.0_73</java.version>
        <start-class>com.amazon.service.MyApplication</start-class>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jersey</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web-services</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-webflux</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-rest-hal-browser</artifactId>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.tomcat.embed/tomcat-embed-jasper -->
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>io.projectreactor</groupId>
            <artifactId>reactor-test</artifactId>
            <scope>test</scope>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-test -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.restdocs</groupId>
            <artifactId>spring-restdocs-mockmvc</artifactId>
            <scope>test</scope>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-jpa -->
        <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>


</project>

4.0.0
亚马逊
亚马逊
0.0.1-快照
罐子
我的申请
演示项目
org.springframework.boot
spring启动程序父级
2.0.2.1发布
UTF-8
UTF-8
1.8.0_73
com.amazon.service.MyApplication
org.springframework.boot
春靴起跑服
org.springframework.boot
SpringBootStarterWeb
org.springframework.boot
SpringBootStarterWeb服务
org.springframework.boot
弹簧启动器webflux
org.springframework.data
spring数据浏览器
org.apache.tomcat.embed
汤姆卡特·贾斯珀
假如
org.springframework.boot
弹簧起动试验
测验
离子交换反应器
反应堆试验
测验
org.springframework.boot
弹簧起动试验
org.springframework.restdocs
SpringRestMVC
测验
org.springframework.boot
spring引导启动器数据jpa
org.springframework.boot
springbootmaven插件

根据您的日志:

Fatal error compiling: invalid target release: 1.8.0_73
您可能正在使用较低的JDK版本(例如1.7)将项目编译为更高的目标版本(在您的情况下为1.8.073)

尝试安装JDK1.8,并使您的
JAVA\u HOME
环境变量指向它


通常,您应该确保源JDK和目标JDK在
pom.xml
文件和
JAVA\u HOME
环境变量之间匹配。

您可以尝试maven编译器插件

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.6.1</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>

org.apache.maven.plugins
maven编译器插件
3.6.1
1.8
1.8

删除添加的重复依赖项

        <artifactId>spring-boot-starter-test</artifactId>
弹簧启动启动器测试

尝试在项目构建路径中指向JDK 1.8,并使您的JAVA_HOME环境指向此

通常,pom.xml中未配置次要版本号(用于JAVA)。只需要主要版本号。 尝试将1.8.0_73更改为1.8


要了解java版本系统,请访问此部分。

查看maven输出,很明显您有重复的依赖项声明。此外,很明显重复的依赖项是
org.springframework.boot:springbootstarter测试

解决问题和删除此警告的过程是什么:

  • 仔细查看pom.xml文件。您可能已经声明了两次依赖项
  • 此警告的另一个原因可能是依赖项声明了两次,但版本不同。同样,解决方案是删除其中一个的依赖项
  • 命令
    mvn依赖项:tree-Dverbose
    可能有用
  • 最后,在编写上述过程之后,我查看了您在问题中发布的pom.xml文件,发现您已经两次声明了以下依赖项(第54行和第65行)

    
    org.springframework.boot
    弹簧起动试验
    

    就我而言,这个库只用于测试目的。如果这是真的,根据您的需求,您应该只保留第54行中的依赖项,警告将被删除。

    这是我的本地Aruns MBP中的版本:~ArunMannuru$java-version java version“1.8.0_73”java(TM)SE运行时环境(build 1.8.0_73-b02)java HotSpot(TM)64位服务器VM(build 25.73-b02,混合模式)我在pom.xml中也给出了相同的1.8.0_73版本,这意味着您使用JDK1.8来编译项目。另一方面,你能分享你的pom.xml文件吗?1.8.0_73这是我在我的pom.xml中配置的,这是你正在寻找的??尽管用整个pom文件和你正在执行的maven命令更新你的问题会更有用。这不是必需的,因为这已经在Spring引导中完成了。。。
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
    </dependency>