前言

最近开始使用odl框架,对于刚接触odl的我还是需要一点适应期,感觉odl的开源资料相较于spring少太多,在此记录下自己对学习心得

一、代码获取

github地址先给大家晒出来,有兴趣的可以去看看

odl学习文档,是官网提供的toaster\demo,有兴趣的可以看下

二、步骤分解

第一步,修改maven的settings.xml文件,odl的编译需要在setting文件中配置相应的远程库,该settings文件可以从odlparent项目中获取,替换setting文件,加入自己相应的本地仓库地址,你就可以开始了
第二步,创建项目,cmd到相应目录,然后输入以下命令,开始创建项目,如下所示。

输入命令行:

mvn archetype:generate -DarchetypeGroupId=org.opendaylight.controller -DarchetypeArtifactId=opendaylight-startup-archetype -DarchetypeRepository=https://nexus.opendaylight.org/content/repositories/opendaylight.release -DarchetypeCatalog=remote -DarchetypeVersion=1.0.1-Lithium-SR1 -DarchetypeCatalog=internal
F:\odlLearn>mvn archetype:generate -DarchetypeGroupId=org.opendaylight.controller -DarchetypeArtifactId=opendaylight-startup-archetype -DarchetypeRepository=https://nexus.opendaylight.org/content/repositories/opendaylight.release -DarchetypeCatalog=remote -DarchetypeVersion=1.0.1-Lithium-SR1 -DarchetypeCatalog=internal
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------< org.apache.maven:standalone-pom >-------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] --------------------------------[ pom ]---------------------------------
[INFO]
[INFO] >>> maven-archetype-plugin:3.1.2:generate (default-cli) > generate-sources @ standalone-pom >>>
[INFO]
[INFO] <<< maven-archetype-plugin:3.1.2:generate (default-cli) < generate-sources @ standalone-pom <<<
[INFO]
[INFO]
[INFO] --- maven-archetype-plugin:3.1.2:generate (default-cli) @ standalone-pom ---
[INFO] Generating project in Interactive mode
[WARNING] Archetype not found in any catalog. Falling back to central repository.
[WARNING] Add a repository with id 'archetype' in your settings.xml if archetype's repository is elsewhere.
Define value for property 'groupId': com.vincent.example
Define value for property 'artifactId': example
Define value for property 'version' 1.0-SNAPSHOT: :
Define value for property 'package' com.vincent.example: :
Define value for property 'classPrefix' Example: :
Define value for property 'copyright': Example
Confirm properties configuration:
groupId: com.vincent.example
artifactId: example
version: 1.0-SNAPSHOT
package: com.vincent.example
classPrefix: Example
copyright: ExampleY: : y
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating project from Archetype: opendaylight-startup-archetype:1.0.1-Lithium-SR1
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: groupId, Value: com.vincent.example
[INFO] Parameter: artifactId, Value: example
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: package, Value: com.vincent.example
[INFO] Parameter: packageInPathFormat, Value: com/vincent/example
[INFO] Parameter: classPrefix, Value: Example
[INFO] Parameter: package, Value: com.vincent.example
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: copyright, Value: Example
[INFO] Parameter: groupId, Value: com.vincent.example
[INFO] Parameter: artifactId, Value: example
[WARNING] Don't override file F:\odlLearn\example\pom.xml
[INFO] Project created from Archetype in dir: F:\odlLearn\example
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  38.894 s
[INFO] Finished at: 2019-08-31T10:06:09+08:00
[INFO] ------------------------------------------------------------------------F:\odlLearn>

扩充,关于DarchetypeVersion的版本,你可能并不想开发1.0.1-Lithium-SR1这个版本,那么有哪些版本可以使用呢?大家可以再这个网站去查阅一下,https://nexus.opendaylight.org/content/repositories/opendaylight.release/archetype-catalog.xml,选择自己所需要的版本进行创建项目

第三步,项目创建完成,此时你得到如下图所示的项目文件树

F:.
├─api
│  └─src
│      └─main
│          └─yang
├─artifacts
├─features
│  └─src
│      └─main
│          └─features
├─impl
│  └─src
│      ├─main
│      │  ├─config
│      │  ├─java
│      │  │  ├─com
│      │  │  │  └─vincent
│      │  │  │      └─example
│      │  │  │          └─impl
│      │  │  └─org
│      │  │      └─opendaylight
│      │  │          └─yang
│      │  │              └─gen
│      │  │                  └─v1
│      │  │                      └─urn
│      │  │                          └─opendaylight
│      │  │                              └─params
│      │  │                                  └─xml
│      │  │                                      └─ns
│      │  │                                          └─yang
│      │  │                                              └─example
│      │  │                                                  └─impl
│      │  │                                                      └─rev141210
│      │  └─yang
│      └─test
│          └─java
│              ├─com
│              │  └─vincent
│              │      └─example
│              │          └─impl
│              └─org
│                  └─opendaylight
│                      └─yang
│                          └─gen
│                              └─v1
│                                  └─urn
│                                      └─opendaylight
│                                          └─params
│                                              └─xml
│                                                  └─ns
│                                                      └─yang
│                                                          └─example
│                                                              └─impl
│                                                                  └─rev141210
└─karafF:\odlLearn\example>

第四步、cmd到example文件夹,编译项目mvn clean install -DskipTests,编译需要的时间有点久,你可以做点别的事情,静待大功告成

第五步、项目启动,karaf

win10 启动karaff闪退问题解决
修改karaf\sdotn-distribution\target\assembly\etc目录下的system.properties文件,末尾添加org.osgi.framework.os.name=Win32。win7中直接启动即可

启动完成之后,通过log:display | grep example命令行相关

三、特别鸣谢

特别鸣谢:

http://www.bubuko.com/infodetail-2229492.html

https://www.cnblogs.com/zjd1396/p/9993655.html

https://wiki.opendaylight.org/view/Controller_Core_Functionality_Tutorials:Tutorials:Starting_A_Project

ODL框架项目搭建小试牛刀-demo篇相关推荐

  1. springboot项目搭建0000-导航篇

    前言:这篇帖子没有任何涉及技术的内容,如果你想找springboot相关的技术知识,可以不用往下看了. 这篇帖子仅仅是对我的springboot相关博客,开辟一个导航页,方便读者.技术大牛略过 主要参 ...

  2. linux编译框架的搭建,Linux精华篇—CentOS 7.4下源码编译构建LNMP架构

    CentOS 7.4搭建LNMP 最新版本LNMP:Linux7.4.ngnix1.13.9.mysql5.7.20.php7.1.10 目录: 第一部分 准备工作 第二部分 安装nginx服务 第三 ...

  3. Node.js结合Express框架项目搭建

    一.简述 本次项目是用node.js写后台接口,前端使用vue.js分离的方法实现一个在线点咖啡的项目.本节教程只是一个简单的入门,关于实际用法后期继续更新. 二.搭建应用 1. 通过应用生成器工具 ...

  4. express框架项目搭建

    (第一次安装的步骤) 1.全局安装express框架 cnpm i express -g 2.安装模板express-generator cnpm i express-generator -g 3.检 ...

  5. SpringBoot+MyBatisPlus+Vue 前后端分离项目快速搭建【后端篇】【快速生成后端代码、封装结果集、增删改查、模糊查找】【毕设基础框架】

    前后端分离项目快速搭建[后端篇] 数据库准备 后端搭建 1.快速创建个SpringBoot项目 2.引入依赖 3.编写代码快速生成代码 4.运行代码生成器生成代码 5.编写application.pr ...

  6. SpringBoot+MyBatisPlus+Vue 前后端分离项目快速搭建【前端篇】【快速生成后端代码、封装结果集、增删改查、模糊查找】【毕设基础框架】

    前后端分离项目快速搭建[前端篇] 后端篇 前端篇 创建vue项目 安装所需工具 开始编码 1.在根目录下添加vue.config.js文件 2.编写main.js 3.编写App.vue 4.编写ax ...

  7. MVVM框架的搭建(二)——项目搭建

    介绍完背景以及初衷之后,我们开始搭建MVVM的框架,这一部分我们进行简单的搭建,了解MVVM架构的基本结构. MVVM框架的搭建(一)--背景 MVVM框架的搭建(二)--项目搭建 MVVM框架的搭建 ...

  8. CLion之C++框架篇-安装工具,基础框架的搭建(一)

    CLion之C++框架篇-安装工具,基础框架的搭建(一) 背景 日常学习C++,也就是看看书.在vim里写写代码.在日常项目开发中,也是边看书(一是系统性理解.二是找找有什么更好的代码编写方式)边写代 ...

  9. b2c项目基础架构分析(二)前端框架 以及补漏的第一篇名词解释

    b2c项目基础架构分析(二)前端框架 以及补漏的第一篇名词解释 继续上篇,上篇里忘记了也很重要的前端部分,今天的网站基本上是以一个启示页,然后少量的整页切换,大量的浏览器后台调用web服务局部.动态更 ...

  10. java ssj_java中ssj框架的项目搭建流程

    1.新建一个maven项目 2.在pom.xml中,配置所需的jar包及其版本号 4.1.7.RELEASE 4.3.11.Final org.springframework spring-core ...

最新文章

  1. 编写nios-shell时想到的问题-回车vs换行
  2. php prettyprinter,gdb运行时错误:prettyprinter已注册:libstdc++v6
  3. Java 9抢先体验:与JShell的动手实践– Java REPL
  4. scope参数错误或没有scope权限_SSM 单体框架 - 前端开发:用户和权限模块
  5. 将byte数组以html形式输出到页面,java 数组显示到html
  6. delegate和protocol
  7. python基础语法_字符串编码
  8. oracle unpivot 索引_oracle pivot 和 unpivot 函数的使用
  9. Java集合--LinkedList
  10. 大数据分析技术架构的通用模块
  11. matlab图片集成成视频
  12. deepin下安装QT
  13. java在线学习系统、基于javaweb的线上智能教育、ssm实现web版本学生在线学习考试、题库管理系统
  14. 关于小米手机用微信会重启的问题
  15. monitor.bat无法启动解决办法
  16. 问题:Permission denied: user=dr.who, access=WRITE, inode=“/“:hadoop:supergroup:drwxr-xr-x
  17. 9860计算机测量程序,卡西欧9860测量放样程序-绘星
  18. 论如何成为技术大牛,GitHub中国区前20名详解
  19. Concis组件库封装——Collapse折叠面板
  20. openwrt路由器打印机服务器设置_OpenWRT路由器——网络打印服务器

热门文章

  1. 若依源码分析(14)——数据监控
  2. C. Minimum Ties (构造)
  3. METS(护理类)一级考试的信效度分析及其对教学的作用
  4. python中forward的参数_pytorch forward两个参数实例
  5. 【CODE】Longest Substring Without Repeating Characters
  6. 三极管做开关管的总结(理解三极管)
  7. 【数学】有理分式的拆解技巧
  8. mysql sqlyog 乱码_SQLyog中文乱码的解决方法
  9. 【年终总结】—此生平凡,终不简单
  10. 人工智能基础——知识的表示方法,产生式表示法