OpenDaylightこんにちは世界プロジェクトコードの開発フレームワークを構築します

 

構築するためのOpenDaylightこんにちは世界プロジェクト開発環境の開発

OpenDaylightこんにちは世界プロジェクト開発ツールの開発をインストール

OpenDaylightこんにちは世界プロジェクトコードの開発フレームワークを構築します

 

ODL開発ツールの1をインストールするには、MVN ODLフレームマネージャーを生成しました。このセクションで開発MVNのODLフレームを使用して建築基準。 

 

まず、コード生成ODLフレーム

Mavenのツールは、設定ファイルのセットに基づいてODLフレーム用のコードを生成します。コードのフレームワークを使用することの利点は、スクラッチから書かれたコードの基本的な枠組みを書かれていません、私たちはただ、自分のビジネスコードに焦点を当てる必要があります。

MVNの原型:生成-DarchetypeGroupId = org.opendaylight.controller -DarchetypeArtifactId = opendaylight-スタートアップ原型-DarchetypeVersion = 1.3.0、カーボン

 

ルート@のVM:〜 MVNのorg.apache.maven.plugins:mavenの-原型-プラグイン:2.4:生成-DarchetypeGroupId = org.opendaylight.controller -DarchetypeArtifactId = opendaylight-スタートアップ原型-DarchetypeRepository = HTTPS://nexus.opendaylight .ORG /コンテンツ/リポジトリ/公共-DarchetypeVersion = 1.3.2-カーボン 
[INFO]スキャンのためのプロジェクト... 
ダウンロードします。https: //nexus.opendaylight.org/content/repositories/public/org/apache/maven/plugins /maven-archetype-plugin/2.4/maven-archetype-plugin-2.4 .pom 
ダウンロードします。https: //nexus.opendaylight.org/content/repositories/public/org/apache/maven/plugins/maven-archetype-plugin/ 2.4 /達人-アーキタイプ・プラグイン2.4.pom(2.7キロバイト/ AT 9キロバイト秒)、
ダウンロードします。https://nexus.opendaylight.org/content/repositories/public/org/apache/maven/archetype/maven-archetype/2.4/maven-archetype-2.4 .pom 
ダウンロードします。https: //nexus.opendaylight.org/content/repositories /public/org/apache/maven/archetype/maven-archetype/2.4/maven-archetype-2.4.pom(22.8キロバイト/で13キロバイト秒)、
ダウンロードします。https: //nexus.opendaylight.org/content/repositories/public / ORG / apacheの/のmaven / Mavenの親/ 26 / Mavenの親-26 .pom 
ダウンロードします。https: //nexus.opendaylight.org/content/repositories/public/org/apache/maven/maven-parent/26/達人-親26.pom(46.9キロバイト/で39キロバイト秒)、
ダウンロードします。https: //nexus.opendaylight.org/content/repositories/public/org/apache/apache/16/apache-16 .pom
ダウンロードします。https: //nexus.opendaylight.org/content/repositories/public/org/apache/apache/16/apache-16.pom(27.5キロバイト/で16キロバイト秒)、
ダウンロードします。https: //nexus.opendaylight。 ORG /コンテンツ/リポジトリ/公共/組織/ apacheの/ Mavenの/プラグイン/ Mavenの-原型-プラグイン/ 2.4 / Mavenの-原型・プラグイン2.4 の.jar 
ダウンロードします。https: //nexus.opendaylight.org/content/repositories/public /org/apache/maven/plugins/maven-archetype-plugin/2.4/maven-archetype-plugin-2.4.jar(105.9キロバイト/で92キロバイト秒)
[INFO]                                                             
[INFO] --------- -------------------------------------------------- ------------- 
[INFO]ビルMavenのスタブプロジェクト(ノーPOM) 1 
[INFO]-------------------------------------------------- ---------------------- 
[INFO] 
[INFO] >>>のmaven-原型-プラグイン:2.4:生成(デフォルト-CLI)>-ソースを生成します@スタンドアロン・POM >>> 
[INFO] 
[INFO] <<<のmaven-原型-プラグイン:2.4:生成(デフォルト-CLI)<スタンドアロン・ポンポン@ <<<-ソース生成
[INFO] 
[INFO] --- Mavenを---(デフォルト-CLI)@スタンドアロン-POM生成:2.4:-プラグインを-archetype
          
値を定義するためのプロパティのgroupId org.opendaylight.exampleの 
値を定義するためのプロパティたartifactId :例
プロパティを使用して[INFO]:バージョン = 0.1.0- SNAPSHOT 
値を定義するためのプロパティパッケージ:org.opendaylight.topologyを::
7月 12、2019年2時36分35秒PM org.apache.velocity.runtime.log.JdkLogChuteログ
INFO:FileResourceLoader:追加のパス" 
値の定義のためのプロパティをclassPrefix ' :トポロジ:
値を定義するためのプロパティ' 著作権" 労働者 
プロパティを使用して[INFO]:COPYRIGHTYEAR = 2017 
:プロパティの設定を確認し
groupIdを:org.opendaylight.topologyの
たartifactId:トポロジの
バージョン: 0.1.0- SNAPSHOTの
パッケージ:ORGを。 opendaylight.topology 
classPrefix:トポロジ
著作権:ワーカー
COPYRIGHTYEAR: 2017 
 Y:Y
[INFO] ----------------------------------------------- ----------------------------- 
[INFO]以下のパラメータを使用するためのプロジェクト作成から原型:opendaylight-スタートアップ原型を:1.3.2 - カーボン
[INFO] --------------------------------------------- ------------------------------- 
[INFO]パラメータ:groupIdを、値:org.opendaylight.topology 
[INFO]パラメータ:たartifactId、値:トポロジー
[INFO]パラメータ:バージョン、値: 0.1.0- SNAPSHOT 
[INFO]パラメータ:パッケージ、価値:org.opendaylight.topology 
[INFO]パラメータ:packageInPathFormat、値:ORG / opendaylight / トポロジー
[INFO]パラメータ:classPrefix、値:トポロジ 
[INFO]パラメータ:パッケージ、価値:org.opendaylight.topology 
[INFO]パラメータ:バージョン、値: 0.1.0- SNAPSHOT 
[INFO]パラメータ:著作権、価値:労働者
[INFO ]パラメータ:groupIdを、値:org.opendaylight.topology 
[INFO]パラメータ:たartifactId、値:トポロジー
[INFO]パラメータ:COPYRIGHTYEAR、値: 2017 
[WARNING]ドン" トン・オーバーライド・ファイル/root/topology/pom.xml 
[INFO ]作成したプロジェクトからの原型ディレクトリ:/ルート/ トポロジー
[INFO] ----------------------------------- ------------------------------------- 
[INFO] SUCCESSを構築 
[INFO]-------------------------------------------------- ---------------------- 
[INFO]合計時間: 3:53 
:で終了[INFO] 2019-07-12T14:36:59 + 08: 00 
[INFO]最終的なメモリ:16M / 38M 
[INFO] ------------------------------------- -----------------------------------

 

終了コマンドが実行されると、コードは、ODLのフレームを生成します。次のように具体的な内容は以下のとおりです。

 

ファイル名 機能
API ヤンモデルディレクトリ
アーティファクト プロジェクト管理コンポーネントの座標
CLI 展開設定ファイル
特徴 組織と管理機能のディレクトリ
IMPL ビジネス・ロジック・コードは、ディレクトリを実装します
それ 統合テスト
デカンター karaf包装ディレクトリ
SRC  
pom.xml 基本情報Mavenプロジェクト記述ファイル

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

第二に、コードがコンパイルされたODLフレーム

ODLフレームワークコードがコンパイルされた後、搬送能力は余分な機能を持たない最も簡単なODLコントローラの1つであることができます。

ヒント:

このプロセスでは、あなたのマシンとネットワークの特定のパフォーマンスの長さに応じて、いくつかの時間のために継続されます。あなたはプロジェクトのルートディレクトリにこのアクションを実行する前に、それがあることを確認してください。

MVNクリーンインストール-DskipTests -Dmaven.javadoc.skip =真-Dcheckstyle.skip =真

 参数:
-DskipTests表示不执行测试用例
-Dmaven.javadoc.skip=true表示跳过javadoc
-Dcheckstyle.skip=true表示跳过checkstyle检查

  

root@vm:~/topology# pwd
/root/example
root@vm:~/topology# mvn clean install -DskipTests -Dmaven.javadoc.skip=true -Dcheckstyle.skip=true
[INFO] Scanning for projects...
Downloading: https://nexus.opendaylight.org/content/repositories/public/org/opendaylight/odlparent/odlparent/1.8.2-Carbon/odlparent-1.8.2-Carbon.pom
Downloaded: https://nexus.opendaylight.org/content/repositories/public/org/opendaylight/odlparent/odlparent/1.8.2-Carbon/odlparent-1.8.2-Carbon.pom (77 KB at 26.6 KB/sec)
Downloading: https://nexus.opendaylight.org/content/repositories/public/org/opendaylight/odlparent/odlparent-lite/1.8.2-Carbon/odlparent-lite-1.8.2-Carbon.pom
Downloaded: https://nexus.opendaylight.org/content/repositories/public/org/opendaylight/odlparent/odlparent-lite/1.8.2-Carbon/odlparent-lite-1.8.2-Carbon.pom (18 KB at 30.4 KB/sec)
Downloading: https://nexus.opendaylight.org/content/repositories/public/org/opendaylight/mdsal/binding-parent/0.10.2-Carbon/binding-parent-0.10.2-Carbon.pom
[INFO] Feature repository discovered recursively: standard-3.0.8
[INFO] Feature repository discovered recursively: enterprise-3.0.8
[INFO] Feature repository discovered recursively: org.ops4j.pax.web-3.2.9
[INFO] Feature repository discovered recursively: spring-3.0.8
[INFO] Feature repository discovered recursively: odl-topology-0.1.0-SNAPSHOT
[INFO] Feature repository discovered recursively: odl-topology-0.1.0-SNAPSHOT
[INFO] Feature repository discovered recursively: odl-yangtools-1.1.2-Carbon
[INFO] Feature repository discovered recursively: odlparent-1.8.2-Carbon
[INFO] Feature repository discovered recursively: odl-netty-4
[INFO] Feature repository discovered recursively: odl-guava-18
[INFO] Feature repository discovered recursively: odl-guava-21
[INFO] Feature repository discovered recursively: odl-lmax-3
[INFO] Feature repository discovered recursively: odl-triemap-0.2
[INFO] Feature repository discovered recursively: odl-mdsal-models-0.10.2-Carbon
[INFO] Feature repository discovered recursively: odl-yangtools-2.2.2-Carbon
[INFO] Feature repository discovered recursively: odl-mdsal-1.5.2-Carbon
[INFO] Feature repository discovered recursively: odl-controller-1.8.2-Carbon
[INFO] Feature repository discovered recursively: odl-akka-all
[INFO] Feature repository discovered recursively: odl-akka-scala-2.11
[INFO] Feature repository discovered recursively: odl-akka-system-2.4
[INFO] Feature repository discovered recursively: odl-akka-clustering-2.4
[INFO] Feature repository discovered recursively: odl-akka-leveldb-0.7
[INFO] Feature repository discovered recursively: odl-akka-persistence-2.4
[INFO] Feature repository discovered recursively: odl-config-0.6.2-Carbon
[INFO] Feature repository discovered recursively: odl-config-persister-0.6.2-Carbon
[INFO] Feature repository discovered recursively: odl-config-persister-0.6.2-Carbon
[INFO] Feature repository discovered recursively: odl-controller-1.5.2-Carbon
[INFO] Feature repository discovered recursively: odl-aaa-0.5.2-Carbon
[INFO] Feature repository discovered recursively: odl-aaa-0.5.2-Carbon
[INFO] Feature repository discovered recursively: odl-dlux-0.5.2-Carbon
[INFO] Feature repository discovered recursively: odl-dlux-0.5.2-Carbon
[INFO] Feature repository discovered recursively: standard-3.0.8
[INFO] Feature repository discovered recursively: org.ops4j.pax.web-3.2.9
[INFO] Feature repository discovered recursively: org.ops4j.pax.cdi-0.11.0
[INFO] Feature repository discovered recursively: odl-yangtools-1.1.2-Carbon
[INFO] Feature repository discovered recursively: odlparent-1.8.2-Carbon
[INFO] Feature repository discovered recursively: odl-mdsal-1.5.2-Carbon
[INFO] Feature repository discovered recursively: odl-yangtools-2.2.2-Carbon
[INFO] Feature repository discovered recursively: odl-mdsal-models-0.10.2-Carbon
[INFO] Feature repository discovered recursively: odl-config-0.6.2-Carbon
[INFO] Feature repository discovered recursively: odl-config-persister-0.6.2-Carbon
[INFO] Feature repository discovered recursively: odl-config-persister-0.6.2-Carbon
[INFO] Feature repository discovered recursively: odl-controller-1.8.2-Carbon
[INFO] Feature repository discovered recursively: odl-controller-1.5.2-Carbon
[INFO] Feature repository discovered recursively: odl-aaa-0.5.2-Carbon
[INFO] Feature repository discovered recursively: odl-aaa-0.5.2-Carbon
[INFO] Feature repository discovered recursively: odl-dlux-0.5.2-Carbon
[INFO] Feature repository discovered recursively: odl-dlux-0.5.2-Carbon
[INFO] Feature repository discovered recursively: odl-akka-scala-2.11
[INFO] Feature repository discovered recursively: odl-akka-system-2.4
[INFO] Feature repository discovered recursively: odl-akka-clustering-2.4
[INFO] Feature repository discovered recursively: odl-akka-leveldb-0.7
[INFO] Feature repository discovered recursively: odl-akka-persistence-2.4
[INFO] 
[INFO] --- maven-site-plugin:3.6:attach-descriptor (generate-site) @ example-aggregator ---
[INFO] Attaching 'src/site/site.xml' site descriptor with classifier 'site'.
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] ODL :: org.opendaylight.example :: example-api ..... SUCCESS [ 34.400 s]
[INFO] ODL :: org.opendaylight.example :: example-impl .... SUCCESS [  3.889 s]
[INFO] ODL :: org.opendaylight.example :: example-cli ..... SUCCESS [  3.516 s]
[INFO] ODL :: org.opendaylight.example :: example-features  SUCCESS [07:59 min]
[INFO] ODL :: org.opendaylight.example :: example-karaf ... SUCCESS [12:00 min]
[INFO] ODL :: org.opendaylight.example :: example-artifacts SUCCESS [  3.710 s]
[INFO] ODL :: org.opendaylight.example :: example-it ...... SUCCESS [ 18.773 s]
[INFO] example ............................................ SUCCESS [ 25.075 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 21:41 min
[INFO] Finished at: 2019-07-29T19:33:48+08:00
[INFO] Final Memory: 210M/888M
[INFO] ------------------------------------------------------------------------

  

三、编译完成

当编译完成之后,文件夹下会生成target

 

 

启动ODL控制器

进入bin目录下,运行./karaf脚本,启动ODL控制器。

 

 

查看此时安装的插件,只有简单的UI,命令行,API等。

 

 

ODL界面

 

 

  

 

简单总结一下本篇的内容。本篇主要是下载ODL框架代码,然后编译java源码,生成一个最简单的ODL控制器。本篇还有到ODL的功能开发,所有该ODL只有最简单的插件。

 

おすすめ

転載: www.cnblogs.com/goldsunshine/p/11176164.html