0

Service Builder に新しいメソッドを追加しました。

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 クラス) に他の関数を問題なく追加しました。

助けてくれてありがとう、オリオール

4

2 に答える 2

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

ここに画像の説明を入力

service.xml に変更が見られた場合は、上記の画面に従ってください。簡単に修正できます。

于 2013-04-25T11:00:00.510 に答える