1

https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-SAL:Startup_Project_Archetypeの API チュートリアルに基づいてカスタム API を作成しようとしています。

ツール: OpenDaylight Lithium、Eclipse、Maven 3.3.9

フォルダーをコンパイルできますが、 ( ) ではコンパイルできapiません。implFlowImpl.java

これはエラーメッセージです:

[INFO] Starting audit...
/home/shaoxu/Desktop/distribution-karaf-0.3.3-Lithium-SR3/flow/impl/src/main/java/org/opendaylight/flow/impl/FlowImpl.java:1: Line does not match expected header line of '^/[*]+$'.
Audit done.
[INFO] There is 1 error reported by Checkstyle 6.2 with check-license.xml ruleset.
[ERROR] src/main/java/org/opendaylight/flow/impl/FlowImpl.java[1] (header) RegexpHeader: Line does not match expected header line of '^/[*]+$'.

Eclipse にはエラー メッセージはありません。

これはソースコードです:

package org.opendaylight.flow.impl;

import java.util.concurrent.Future;

import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.flow.rev150105.FlowService;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.flow.rev150105.FlowPathInput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.flow.rev150105.FlowPathOutput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.flow.rev150105.FlowPathOutputBuilder;
import org.opendaylight.yangtools.yang.common.RpcResult;
import org.opendaylight.yangtools.yang.common.RpcResultBuilder;

public  class FlowImpl implements FlowService {

      @Override
        public Future<RpcResult<FlowPathOutput>> flowPath(FlowPathInput input) {
          FlowPathOutputBuilder flowBuilder = new FlowPathOutputBuilder();
          flowBuilder.setPath(input.getNodes());
            return RpcResultBuilder.success(flowBuilder.build()).buildFuture();
        }

}

エラーは何ですか?

4

2 に答える 2

2

発生しているエラーは、OpenDaylight のすべてのファイルの先頭にある著作権/ライセンス ヘッダーのフォーマットが強制されていることが原因です。

/*
 * Copyright (c) 2016 ... and others.  All rights reserved.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
 * and is available at http://www.eclipse.org/legal/epl-v10.html
 */

アーキタイプを使用した場合、このヘッダーは生成されているはずです。問題を解決するには 2 つの方法があります。上記のようにライセンス ヘッダーを追加するか (ライセンスに満足している場合)、またはライセンス チェックを無効にするか、後者を実行する場合は、質問を編集して POM を追加します。 for を使用するimplので、その方法を説明できます。

リチウムを使用しているとのことですが、新しい開発にはベリリウムまたはホウ素に切り替えることを強くお勧めします。ウィキ ページは現在、ベリリウムのほとんどが最新です。

于 2016-06-27T16:58:17.983 に答える
0

私のベリリウムでは、通常、ビルドを実行するときに checkstyle テストをスキップします。コマンドにパラメーターを追加-Dcheckstyle.skip=trueして、maven ビルドを実行します。

于 2016-06-28T15:39:31.357 に答える