Java 新Spring项目构建失败

Java 新Spring项目构建失败,java,spring,maven,spring-mvc,intellij-idea,Java,Spring,Maven,Spring Mvc,Intellij Idea,我对春天完全是个初学者。我已经安装了jdk和maven echo$JAVA\u HOME显示: /Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home javac 9.0.4 Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T08:58:13+01:00) Maven home: /usr/local/Cellar/maven/3

我对春天完全是个初学者。我已经安装了jdk和maven

echo$JAVA\u HOME
显示:

/Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home
javac 9.0.4
Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T08:58:13+01:00)
Maven home: /usr/local/Cellar/maven/3.5.2/libexec
Java version: 9.0.4, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home
Default locale: en_GB, platform encoding: UTF-8
OS name: "mac os x", version: "10.13.2", arch: "x86_64", family: "mac"
$javac-version
显示:

/Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home
javac 9.0.4
Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T08:58:13+01:00)
Maven home: /usr/local/Cellar/maven/3.5.2/libexec
Java version: 9.0.4, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home
Default locale: en_GB, platform encoding: UTF-8
OS name: "mac os x", version: "10.13.2", arch: "x86_64", family: "mac"
mvn-版本
显示:

/Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home
javac 9.0.4
Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T08:58:13+01:00)
Maven home: /usr/local/Cellar/maven/3.5.2/libexec
Java version: 9.0.4, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home
Default locale: en_GB, platform encoding: UTF-8
OS name: "mac os x", version: "10.13.2", arch: "x86_64", family: "mac"
到目前为止,我所做的唯一一件事就是创建一个名为“controller”的包,其中包含一个“HomeController.java”文件,代码如下:

package com.demo.spring.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
public class HomeController {

    @RequestMapping(value = "/", method = RequestMethod.GET)
    public String index(){

        return "Hello World.";
    }
}
但是当我执行mvn spring boot:run时,我得到:

[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.561 s
[INFO] Finished at: 2018-01-17T13:28:14Z
[INFO] Final Memory: 25M/83M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:1.5.9.RELEASE:run (default-cli) on project demo: Could not exec java: Application finished with exit code: 1 -> [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
我以前没有接触过spring,所以我安装了jdk(通过java网站)和maven(通过自制),并按照教程在intellij中设置spring应用程序,我不知道我做错了什么/没有做什么。我看到错误引用无法执行java,提供的链接表明这是一个插件问题,但我如何解决这个问题

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.demo.spring</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>demo-spring</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.9.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</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

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


</project>

4.0.0
com.demo.spring

您当前的jdk版本是1.9.0,但在pom.xml中它指向1.8,所以您需要将该版本更改为1.9

下面是你的版本

<properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

UTF-8
UTF-8
1.8
将其更改为1.9

<properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.9</java.version>
    </properties>

then try to run below command 

mvn clean spring-boot:run

UTF-8
UTF-8
1.9
然后尝试运行下面的命令
mvn clean spring启动:运行

您当前的jdk版本是1.9.0,但在pom.xml中它指向1.8,所以您需要将该版本更改为1.9

下面是你的版本

<properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

UTF-8
UTF-8
1.8
将其更改为1.9

<properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.9</java.version>
    </properties>

then try to run below command 

mvn clean spring-boot:run

UTF-8
UTF-8
1.9
然后尝试运行下面的命令
mvn clean spring启动:运行

我认为所有这些错误都与Java 9有关

Maven建议对Java 9进行一些更改,可能您可以像这样使用它们:

  • 添加Java 9作为属性:

  • 对于编译失败,请修复maven编译器插件:

  • 对于测试失败,修复maven surefire插件

  • 对于打包失败,修复maven jar插件(可选)

  • 对于Spring引导插件故障,修复Spring引导maven插件


  • 有关更多信息,请访问博客。

    我认为所有这些错误都与Java9有关

    Maven建议对Java 9进行一些更改,可能您可以像这样使用它们:

  • 添加Java 9作为属性:

  • 对于编译失败,请修复maven编译器插件:

  • 对于测试失败,修复maven surefire插件

  • 对于打包失败,修复maven jar插件(可选)

  • 对于Spring引导插件故障,修复Spring引导maven插件



  • 有关更多信息,请访问博客。

    您在这里尝试过解决方案吗?这个问题听起来很相似,请发布您的项目结构。您需要下载依赖项。我添加了pom和文件结构的图像。Dipak您能进一步解释吗?您在这里尝试过解决方案吗?这个问题听起来很相似,请发布您的项目结构。您需要下载依赖项。我添加了pom和文件结构的图像。Dipak您能进一步解释一下吗?我将pom中的版本更新为1.9,并进行了
    mvn清理安装
    并获得
    [错误]未能在project demo上执行目标org.apache.maven.plugins:maven surefire plugin:2.18.1:test(默认测试):存在测试失败。
    它引用的文件太大。但在顶部状态下,测试运行:1,失败:0,错误:1,跳过:0,时间:2.553秒转到项目目录并尝试运行mvn clean install命令,正如我所说,它告诉我错误
    [error]未能执行目标org.apache.maven.plugins:maven surefire plugin:2.18.1:test(默认测试)在项目演示中:有测试失败。
    我当然会回复消息。它工作得很好。我还做了
    mvn clean install-U
    ,我读到它会处理依赖关系。仍然是相同的错误消息thoughI将pom中的版本更新为1.9,并进行了
    mvn clean安装
    ,并且获得了
    [error]无法执行goal org.apache.maven.plugins:maven surefire plugin:2.18.1:project demo上的测试(默认测试):有测试失败。
    它引用的文件非常大。但在顶部状态下,测试运行:1,失败:0,错误:1,跳过:0,时间:2.553秒转到项目目录并尝试运行mvn clean install命令,正如我所说,它告诉我错误
    [error]未能执行目标org.apache.maven.plugins:maven surefire plugin:2.18.1:test(默认测试)在项目演示中:有测试失败。
    我当然会回复消息。它工作得很好。我还做了
    mvn clean install-U
    ,我读到它会处理依赖关系。仍然是相同的错误消息,但谢谢您。它解决了所有它详细描述的错误,直到最后一点——在这里我做了
    mvn-spring-boot:run
    。我想我只是要卸载java并安装1.8,然后从那里开始。谢谢你。它解决了所有它详细描述的错误,直到最后一点——在这里我做了
    mvn-spring-boot:run
    。我想我只是要卸载java并安装1.8,然后从那里开始。