2016-06-23 13 views
1

Ich versuche, eine benutzerdefinierte API basiert auf einem API-Tutorial auf https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-SAL:Startup_Project_ArchetypeFehler beim Kompilieren benutzerdefinierte OpenDaylight API

Werkzeuge zu erstellen: den Ordner OpenDaylight Lithium, Eclipse Maven 3.3.9

Ich bin in der Lage zu kompilieren in api, aber nicht in impl (FlowImpl.java).

Dies ist die Fehlermeldung:

[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 '^/[*]+$'. 

Es gibt keine Fehlermeldung in Eclipse. Diese

ist der Quellcode:

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(); 
     } 

} 

Was ist der Fehler?

Antwort

1

Der Fehler Sie bekommen durch eine erzwungene Format für eine Copyright/Lizenz-Header am Anfang jeder Datei in OpenDaylight verursacht:

/* 
* 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 
*/ 

Wenn Sie das Urbild verwendet, sollte dieser Header generiert wurden für dich. Es gibt zwei Möglichkeiten, das Problem zu beheben: Fügen Sie entweder den Lizenzkopf wie oben hinzu (wenn Sie mit der Lizenz zufrieden sind), oder deaktivieren Sie die Lizenzprüfung. Wenn Sie Letzteres tun möchten, bearbeiten Sie Ihre Frage und fügen Sie das POM hinzu. wieder für impl verwenden, damit ich erklären kann, wie man das macht.

Sie erwähnen, dass Sie Lithium verwenden, ich würde dringend empfehlen, zu Beryllium oder sogar Boron für die Neuentwicklung zu wechseln. Die Wikiseiten sind aktuell für Beryllium meist aktuell.

0

In meinem Beryllium überspringe ich normalerweise Checkstyle-Tests, wenn ich meinen Build ausführe. Fügen Sie Ihrem Befehl -Dcheckstyle.skip=true Parameter hinzu, um den Maven Build zu erstellen.