2016-06-01 110 views
0

Screen shot of Installed Jre's in STS 3.6.0Spring MVC的,Maven构建失败

这是我的第一个Maven build.Checked每一件事情仍然得到一个Maven构建失败。我使用的IDE是sts 3.6.0。以下示例来自名为crunchify的网站。完全按照指示完成。不知道是什么导致了错误。

的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>CrunchifySpringMVCTutorial</groupId> 
     <artifactId>CrunchifySpringMVCTutorial</artifactId> 
     <version>0.0.1-SNAPSHOT</version> 
     <packaging>war</packaging> 
     <build> 
      <sourceDirectory>src</sourceDirectory> 
      <plugins> 
       <plugin> 
        <artifactId>maven-compiler-plugin</artifactId> 
        <version>3.3</version> 
        <configuration> 
         <source>1.8</source> 
         <target>1.8</target> 
        </configuration> 
       </plugin> 
       <plugin> 
        <artifactId>maven-war-plugin</artifactId> 
        <version>2.6</version> 
        <configuration> 
         <warSourceDirectory>WebContent</warSourceDirectory> 
         <failOnMissingWebXml>false</failOnMissingWebXml> 
        </configuration> 
       </plugin> 
      </plugins> 
     </build> 
     <dependencies> 
      <dependency> 
       <groupId>org.springframework</groupId> 
       <artifactId>spring-context</artifactId> 
       <version>4.2.5.RELEASE</version> 
      </dependency> 
      <dependency> 
       <groupId>org.springframework</groupId> 
       <artifactId>spring-aop</artifactId> 
       <version>4.2.5.RELEASE</version> 
      </dependency> 
      <dependency> 
    <groupId>javax.servlet</groupId> 
    <artifactId>servlet-api</artifactId> 
    <version>2.5</version> 
    </dependency> 
      <dependency> 
       <groupId>org.springframework</groupId> 
       <artifactId>spring-webmvc</artifactId> 
       <version>4.2.5.RELEASE</version> 
      </dependency> 
      <dependency> 
       <groupId>org.springframework</groupId> 
       <artifactId>spring-web</artifactId> 
       <version>4.2.5.RELEASE</version> 
      </dependency> 

      <dependency> 
       <groupId>javax.servlet</groupId> 
       <artifactId>jstl</artifactId> 
       <version>1.2</version> 
      </dependency> 

      <dependency> 
       <groupId>commons-logging</groupId> 
       <artifactId>commons-logging</artifactId> 
       <version>1.1.3</version> 
      </dependency> 
     </dependencies> 
    </project> 

的index.jsp

<html> 
<head> 
<title>Spring MVC Tutorial Series by Crunchify.com</title> 
<style type="text/css"> 
body { 
    background-image: url('http://crunchify.com/bg.png'); 
} 
</style> 
</head> 
<body> 
    <br> 
    <div style="text-align:center"> 
     <h2> 
      Hey You..!! This is your 1st Spring MCV Tutorial..<br> <br> 
     </h2> 
     <h3> 
      <a href="welcome.html">Click here to See Welcome Message... </a>(to 
      check Spring MVC Controller... @RequestMapping("/welcome")) 
     </h3> 
    </div> 
</body> 
</html> 

CrunchifyHelloWorld.java

package com.crunchify.controller; 

import org.springframework.stereotype.Controller; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.servlet.ModelAndView; 

/* 
* author: Crunchify.com 
* 
*/ 

@Controller 
public class CrunchifyHelloWorld { 

    @RequestMapping("/welcome") 
    public ModelAndView helloWorld() { 

     String message = "<br><div style='text-align:center;'>" 
       + "<h3>********** Hello World, Spring MVC Tutorial</h3>This message is coming from CrunchifyHelloWorld.java **********</div><br><br>"; 
     return new ModelAndView("welcome", "message", message); 
    } 
} 

的web.xml

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> 
    <display-name>CrunchifySpringMVCTutorial</display-name> 
    <welcome-file-list> 
    <welcome-file>index.jsp</welcome-file> 
    </welcome-file-list> 

    <servlet> 
     <servlet-name>crunchify</servlet-name> 
     <servlet-class> 
      org.springframework.web.servlet.DispatcherServlet 
     </servlet-class> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>crunchify</servlet-name> 
     <url-pattern>/welcome.jsp</url-pattern> 
     <url-pattern>/welcome.html</url-pattern> 
     <url-pattern>*.html</url-pattern> 
    </servlet-mapping> 

</web-app> 

crunchify-servlet.xml中

<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation=" 
     http://www.springframework.org/schema/beans  
     http://www.springframework.org/schema/beans/spring-beans.xsd 
     http://www.springframework.org/schema/mvc 
     http://www.springframework.org/schema/mvc/spring-mvc.xsd 
     http://www.springframework.org/schema/context 
     http://www.springframework.org/schema/context/spring-context.xsd"> 

    <context:component-scan base-package="com.crunchify.controller" /> 

    <bean id="viewResolver" 
     class="org.springframework.web.servlet.view.UrlBasedViewResolver"> 
     <property name="viewClass" 
      value="org.springframework.web.servlet.view.JstlView" /> 
     <property name="prefix" value="/WEB-INF/jsp/" /> 
     <property name="suffix" value=".jsp" /> 
    </bean> 

</beans> 

控制台错误:

[INFO] Scanning for projects... 
[INFO] 
[INFO] Using the builder org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder with a thread count of 1 
[INFO]                   
[INFO] ------------------------------------------------------------------------ 
[INFO] Building CrunchifySpringMVCTutorial 0.0.1-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ CrunchifySpringMVCTutorial --- 
[INFO] Deleting C:\Users\shamee\Documents\CodeView\CrunchifySpringMVCTutorial\target 
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ CrunchifySpringMVCTutorial --- 
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent! 
[INFO] skip non existing resourceDirectory C:\Users\shamee\Documents\CodeView\CrunchifySpringMVCTutorial\src\main\resources 
[INFO] 
[INFO] --- maven-compiler-plugin:3.3:compile (default-compile) @ CrunchifySpringMVCTutorial --- 
[INFO] Changes detected - recompiling the module! 
[WARNING] File encoding has not been set, using platform encoding Cp1252, i.e. build is platform dependent! 
[INFO] Compiling 1 source file to C:\Users\shamee\Documents\CodeView\CrunchifySpringMVCTutorial\target\classes 
[INFO] ------------------------------------------------------------- 
[ERROR] COMPILATION ERROR : 
[INFO] ------------------------------------------------------------- 
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK? 
[INFO] 1 error 
[INFO] ------------------------------------------------------------- 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 4.641 s 
[INFO] Finished at: 2016-06-01T16:14:45+05:30 
[INFO] Final Memory: 7M/78M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.3:compile (default-compile) on project CrunchifySpringMVCTutorial: Compilation failure 
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK? 
[ERROR] -> [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/MojoFailureException 

回答

1

走进Window > Preferences > Java > Installed JREs > and check your installed JREs。你应该在那里有一个JDK入口。选择你的JDK版本比点击OK 然后RightClick Project -> Maven -> Update Project

+0

只有一个以jre1.8.0开头的条目被选中。没有任何开始与jdk – Jboy

+0

我创建了一个链接到已安装的Jre窗口的屏幕截图up – Jboy

+0

点击添加新的运行时环境,并浏览到您的java installatiom文件夹,并选择jdk 1.8文件夹 – KLajdPaja

1

您必须添加它安装在您的计算机上的JDK“添加”按钮(参见您的截图)

这里是正确的JDK路径的例子:C:\Program Files\Java\jdk1.8.0_92

然后,您可以按照KLajdPaja在答案中提供的步骤进行操作。

如果您的计算机上没有JDK,则可以在Oracle网站上安装JDK。以下是JDK的链接:http://www.oracle.com/technetwork/java/javase/downloads/index.html

+0

我的构建现在是成功的,但我有不同类型的部署问题。 – Jboy