2013-04-25 3 views
0

나는 나의 서비스 빌더에 새로운 방법을 추가 :을 Liferay 서비스 빌더 인식되지 기능

public IRRule ruleCreation() 
throws SystemException, PortalException { 
    IRRule rule = new IRRuleImpl(); 
    return rule; 
} 

방법은 (오류가 발표되지 않음) 포틀릿 클래스에서 인식 :

public class RulePortlet extends MVCPortlet{ 

public void addRule(ActionRequest request, ActionResponse response) 
throws Exception { 
    ThemeDisplay themeDisplay = 
    (ThemeDisplay)request.getAttribute(WebKeys.THEME_DISPLAY); 

    IRRule rule = IRRuleLocalServiceUtil.ruleCreation(); // This is The Method!!!! 


    rule.setCompanyId(themeDisplay.getCompanyId()); 
    rule.setGroupId(themeDisplay.getScopeGroupId()); 
    rule.setRuleName(ParamUtil.getString(request, "ruleName")); 
    rule.setRuleDescription(ParamUtil.getString(request, "ruleDescription")); 
    rule.setRuleFile(ParamUtil.getString(request, "ruleFile")); 

    ArrayList<String> errors = new ArrayList<String>(); 
    if (RuleValidator.validateRule(rule, errors)) { 
     IRRuleLocalServiceUtil.addRule(rule, 
     themeDisplay.getUserId()); 
     SessionMessages.add(request, "product-saved-successfully"); 
    } else { 
     SessionErrors.add(request, "fields-required"); 
    } 
} 
... 

그러나에서 이 기능을 테스트 할 때 콘솔을 던지는 데 오류가 발생했습니다 ...

java.lang.NoSuchMethodError: com.ent.oriol.inputrules.service.IRRuleLocalServiceUtil.ruleCreation()Lcom/ent/oriol/inputrules/model/IRRule; 

어떻게 그럴 수 있습니까? 이 문제를 해결하기 위해해야 ​​할 일은 무엇입니까 ?? 과거에는 문제없이 서비스 빌더 (LocalServiceImpl 클래스)에 다른 함수를 추가했습니다!

는 오리올

+0

서비스를 빌드 할 때'ant-console'에 오류가 있는지 확인 했습니까? –

+0

PC를 다시 시작했는데 문제가 해결되었습니다. 나는 그것을 테스트 할 때 어떤 콘솔 문제도받지 못했다. 나는 스레드의 문제라고 생각한다! – user1592470

답변

1

당신이 재시동을 도와 주었기 때문에, 문제는 아마 어딘지에서 캐시 된 일부 오래된 코드 일 수도 있습니다 서비스가 다시 빌드되었을 때 servicebuilder로 인해 발생하는 클래스 변경 사항을 선택하지 않은 디버거 프로세스를 제거합니다.

사실을 말하면 어렵습니다. 재현 할 수 있다면 상황을 파악하는 것이 재미있을 것입니다. IDE, 테스트 설정 등. 그렇지 않으면 매트릭스에서 결함으로 간주해야합니다.

-1
Goto service.xml--->select Overview--->In the right corner build services option is there--->click that 

enter image description here

, 도움을 주셔서 감사합니다 service.xml에서 볼 수 변경은 난 당신이 그가 언급 한 자신의 문을 easily.In 해결할 것입니다 언급 무엇 위의 화면을 따르는 경우 서비스 빌더에서 수행 된 몇 가지 변경 사항이 내가 해결책을 준 이유

+0

OP는 그가 전에 서비스 작성기로 LocalServiceImpl에 다른 메소드를 구축했다고 말합니다 : *** 이전에는 문제없이 서비스 빌더 (LocalServiceImpl 클래스)에 다른 함수를 추가했습니다! *** 이렇게 생각하면 질문에 답할 수 없습니다 . –