栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Linux下的floodlight安装指南(排坑版)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Linux下的floodlight安装指南(排坑版)

目录

一、先决条件

Linux:你最喜欢的 Linux 风格Java 开发工具包:JDK 8 for Floodlight master 及更高版本、JDK 7 for Floodlight v1.2 及更低版本Ant 或 Maven 构建Python开发包Eclipse IDE(首选 Eclipse Luna)最新的build、git工具 二、下载并构建三、运行floodlight

在 Eclipse 中运行或者,在终端中运行在浏览器中打开 四、未解决的源码问题五、参考链接

一、先决条件 Linux:你最喜欢的 Linux 风格

(我的虚拟机环境:Linux x64、5.13.0内核、Ubuntu 20.04)

Java 开发工具包:JDK 8 for Floodlight master 及更高版本、JDK 7 for Floodlight v1.2 及更低版本

一号坑: 不要用官网的命令一步下载到位!目前这两个jdk都是需要注册Oracle官方账号才能下载的,因此直接执行官网的命令,会有两种情况:1.默认下载了openjdk-11;2.无法下载openjdk-7-jdk,并推荐你用default-jdk命令下载,该命令下载的仍然是jdk11。不要偷懒,他说要jdk8就一定得是jdk8!
JDK 8下载链接,免费下载的,注册就行
根据自己的Linux环境选择,一般都是这个:

具体的步骤参考Unbuntu下Java环境搭建,这里不再赘述,注意先不要急着照他的方法安装Eclipse。openjdk-8也最好装一下,貌似可以直接命令安装:

sudo apt-get install openjdk-8-jdk

小坑: 如果在执行java -version命令时发现不小心被安装了openjdk-11,用这个命令来卸载是最干净最简洁的:

sudo apt-get autoremove openjdk-11-jre-headless
Ant 或 Maven 构建

二号坑: 这里还是不能用命令下载,否则ant会自动下载openjdk11等等一些改变你Java环境的东西。
手动安装ant步骤

maven的话,命令下载就好:

sudo apt-get install maven
Python开发包
sudo apt-get install python-dev

它会提示你“注意,选中 ‘python-dev-is-python2’ 而非 ‘python-dev’”,不用管继续执行就行。

Eclipse IDE(首选 Eclipse Luna)

三号坑: 这是官方文档的一段提示:“建议使用 Eclipse Luna 版本成功导入 Floodlight 项目。其他 Eclipse 版本也可以,只是人们有时在配置这些版本时可能会遇到麻烦(大多数时候,JDK 问题和“未解决的编译问题”)。 本教程使用 Eclipse Luna 版本编写和测试,因此推荐使用该版本。对于 Floodlight 主分支,您仍应确保在您的环境中安装了 Java 8,并且在 Eclipse 中正确配置了 JDK 1.8。”

Luna版下载安装:
下载Eclipse IDE Luna Linux_x64最新版到/opt目录下

wget -P /opt https://archive.eclipse.org/technology/epp/downloads/release/luna/SR2/eclipse-java-luna-SR2-linux-gtk-x86_64.tar.gz

打开/opt

cd /opt

解压

tar -zxvf eclipse-java-luna-SR2-linux-gtk-x86_64.tar.gz

打开eclipse目录

cd /opt/eclipse

启动eclipse

./eclipse
最新的build、git工具
sudo apt-get install build-essential
sudo apt-get install git
二、下载并构建

四号坑: 不要直接在github.com上下载github的源码!众所周知,GitHub官网很不稳定,而floodlight源码的下载时间很长,如果中途出现短暂断连就会导致下载不完整,致使编译运行出错,还很难手动补充缺失文件。因此,推荐一个目前很稳定的镜像源:https://hub.fastgit.xyz。
顺序执行:

git clone git://hub.fastgit.xyz/floodlight/floodlight.git
cd floodlight
git pull origin master
git submodule init
git submodule update
ant

sudo mkdir /var/lib/floodlight
sudo chmod 777 /var/lib/floodlight

小坑:

    有时候第一行命令还是会显示拒绝连接,可能是公司网络的暂时限制,将“git://”变成“https://”即可;

    执行“git submodule update”时很容易出现“连接失败、克隆失败、尝试重新克隆。。。”的错误,还是因为github官网的不稳定造成的,这里目前没有别的办法,失败了就再执行,知道他执行成功为止;

    ant这一步最好改用:

ant eclipse

以下是官方文档关于用eclipse开发floodlight的一段内容:与其手动设置项目,不如轻松使用 Eclipse 来ant target(floodlight目录下的一个主要目录)。(确实非常快~~)

    ant之后容易出现一个比较常见的问题导致build failed:

    (图片来源:https://blog.csdn.net/weixin_39147736/article/details/105557018)
    仔细检查一下前面的步骤是否都严格执行,坑是否都填了。有个解释是这样的:openjfx是为了解决程序包javafx.util不存在的问题,需要执行:
sudo apt-get install openjfx

但我当时并没有立刻得到解决,后来发现这个令人头疼的问题主要还是出在前面遇到的那些坑当中!

    最后两行命令是一个目录的创建和权限修改操作,我的这个目录在ant以后就是已经操作好了的,无需执行。

    关于切换不同版本,官网说“要使用特定版本,请在‘git clone’步骤中通过附加’-b ‘来指定版本分支,例如‘-b v1.2’”,还有“如果您想切换到不同的版本,请将“git pull”步骤中的“master”替换为您想要的版本分支,例如’v1.1’、'v1.2’等”。我试过都没啥用,要切换的话,只能在ant完之后,执行命令:

git checkout v0.90

切换的版本号改v后面的数字就行。如果出错,删除它提示的所需要删除的文件即可。

三、运行floodlight 在 Eclipse 中运行

先将floodlight导入eclipse的workspace:

打开eclipse并新建一个工作区File -> import -> General -> Existing Projects 进入Workspace。然后点击"Next"从“Select root directory”中单击“Browse”。选择您之前放置 Floodlight 的父目录选中“floodlight”复选框。不应存在​​其他项目,也不应选择任何项目。 单击完成

创建FloodlightLaunch target:

单击Run->Run Configurations右键Java Application->NewName用FloodlightLaunchProject用FloodlightMain用net.floodlightcontroller.core.Main单击Apply

要运行 Floodlight,请单击播放按钮旁边的下拉箭头并选择要运行的正确目标。这些也适用于调试目标。

或者,在终端中运行

在floodlight目录下,

java -jar target/floodlight.jar
在浏览器中打开

在同一系统的浏览器中访问http://localhost:8080/ui/index.html,显示界面:

四、未解决的源码问题

目前运行倒是没问题,和OVS也能连接,但是源码是有错误的,控制台也显示异常(T_T):

源码也有问题的同学一起交流交流啊。

五、参考链接

floodlight官方文档
Unbuntu下Java环境搭建
Ubuntu下安装最新OpenJdk1.8
Linux之ant安装部署
安装floodlight遇到的问题,程序包 org.apache.thrift .annotation不存在
git “errno=Connection refused”
UbuntuLinux遇到缺少javac、javax的解决方法以及卸载系统自带的openjdk11
Ubuntu16.04安装Floodlight相关问题解决

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/774742.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号