2014-08-28 2 views
0

Im пытается выполнить проект Spring MVC с использованием Maven, но получаю ошибку компиляции, то время как Maven упаковки -@Pathvariable не найдена ошибка компиляции

Ошибка

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.0:compile (default-compile) on project CounterWebApp: Compilation failure 
[ERROR] /home/prem1980/apache-maven/all_maven_projects/java_webapp_project/CounterWebApp/src/main/java/com/mkyong/controller/BaseController.java:[23,36] cannot find symbol 
[ERROR] symbol : class PathVariable 
[ERROR] location: class com.mkyong.controller.BaseController 

Java файл

package com.mkyong.controller; 

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

@Controller 
@RequestMapping("/") 
public class BaseController { 

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

       model.addAttribute("message", "Maven Web Project + Spring 3 MVC - welcome()"); 

       //Spring uses InternalResourceViewResolver and return back index.jsp 
       return "index"; 

     } 

     @RequestMapping(value="/welcome/{name}", method = RequestMethod.GET) 
     public String welcomeName(@PathVariable String name, ModelMap model) { 

       model.addAttribute("message", "Maven Web Project + Spring 3 MVC - " + name); 
       return "index"; 

     } 

} 

проекта структуры

[[email protected] CounterWebApp]$ tree . 
. 
├── pom.xml 
├── src 
│   └── main 
│    ├── java 
│    │   └── com 
│    │    └── mkyong 
│    │     └── controller 
│    │      └── BaseController.java 
│    ├── resources 
│    └── webapp 
│     └── WEB-INF 
│      ├── index.jsp 
│      ├── mvc-dispatcher-servlet.xml 
│      └── web.xml 
└── target 
    ├── classes 
    ├── generated-sources 
    │   └── annotations 
    └── maven-status 
     └── maven-compiler-plugin 
      └── compile 
       └── default-compile 
        └── createdFiles.lst 

ответ

1

Добавьте оператор импорта

import org.springframework.web.bind.annotation.PathVariable; 
1

Я думаю, что вам не хватает фейерверка в вашем классе. В банке с пружинной сеткой содержится эта аннотация.

Убедитесь, что ваш pom.xml содержит:

<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-web</artifactId> 
    <version>3.0.4.RELEASE</version> 
</dependency> 

Убедитесь, что вы имеете пружинных веб баночки.

Если проверить, где находится org.springframework.web.bind.annotation.PathVariable вы обнаружите, что она находится в пределах выше баночке:

http://mvnrepository.com/artifact/org.springframework/spring-web/3.0.4.RELEASE

Конечно версия банка может отличаться, просто обеспечить, чтобы использовать ваши. Вы можете найти пружинный веб-версию здесь:

http://mvnrepository.com/artifact/org.springframework/spring-web

И как Reimeus указал в своем ответе, что вам нужно импортировать, а также.

Смежные вопросы