簡體   English   中英

在春季執行時出現java.lang.NoClassDefFoundError

[英]java.lang.NoClassDefFoundError while executing in spring

執行提交按鈕時遇到java.lang.NoClassDefFoundError錯誤,編譯確實成功,並且build / class /

錯誤

-------
INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@31809212: defining beans [crunchifyHelloWorld,org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,viewResolver,org.springframework.context.annotation.ConfigurationClassPostProcessor.importAwareProcessor]; root of factory hierarchy
Jul 17, 2015 2:09:59 PM org.apache.catalina.core.ApplicationContext log
SEVERE: StandardWrapper.Throwable
java.lang.NoClassDefFoundError: com/crunchify/controller/PasswordCheck
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2531)
    at java.lang.Class.getDeclaredMethods(Class.java:1855)

src / com / crunchify / controller / CrunchifyHelloWorld.java


package com.crunchify.controller;

import com.crunchify.controller.PasswordCheck;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.validation.*;
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>********** Welcome to LDO Support Landing page **********<h3> </div><br><br>";
        return new ModelAndView("welcome", "message", message);
    }


    @RequestMapping(value = "/loginCheck", method = RequestMethod.GET)
      public ModelAndView addContact(@ModelAttribute("index")
      com.crunchify.controller.PasswordCheck passcheck, BindingResult result) {

            System.out.println("userid:" + passcheck.getUser_id() + "password:" + passcheck.getPassword());

                //return "redirect:contacts.html";
            String message = "<br><div style='text-align:center;'>" + 
                     "<h3>********** Welcome to LDO Support Landing page **********<h3> </div><br><br>";

                return new ModelAndView("welcome", "message", message);
        }


}

src / com / crunchify / controller / PasswordCheck.java

package com.crunchify.controller;

public class PasswordCheck {

    private String user_id;
    private String password;
    public String getUser_id() {
        return user_id;
    }
    public void setUser_id(String user_id) {
        this.user_id = user_id;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }

}

由於這是Spring,因此您應該將PasswordCheck注釋為@Service@Component並通過@Resource在控制器中使其可用。
這將使其可用,因為在上下文加載期間正在實例化Controller,此時您的組件掃描將不會檢測到PasswordCheck -class。
因此,您應該這樣做:

@Service
public class PasswordCheck {
    // code omitted
}

@Controller
public class CrunchifyHelloWorld {

    @Resource
    private PasswordCheck passwordCheck;

並在您的方法中使用bean名稱“ passwordCheck ”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM