这是在实验SDN时,遇到了一些问题,终于找到的解决办法,记录下来,供以后使用:
在实验开发SDN时,主要参考了博文http://www.sdnlab.com/author/3836/page/2/,个人觉得其写的SDN开发还是很详细的,但是在安装过程中,也是出现了一些问题,尤其是在SDN开发笔记(四),出现问题居多,特此记录一下:
1) maven 的~/.m2文件找不到问题:
我看博文上写,说安装maven之后macos 和 linux系统会自动生成~/.m2文件夹,用来作为本地仓库,可是我cd ~/.m2文件夹,就是提示没有
解决办法:安装好maven后,在一个有pom文件的文件夹(比如说,你从SDN开发笔记(3)中,下的l2switch里就有pom文件)下,执行mvn clean命令,就会生成~/.m2文件夹
此时注意,在root状态下,是~/.m2 即/root/.m2 ,若是在用户名下(若用户名为cc,则是在 /home/cc/.m2)
因为查看setting.xml文件(在maven文件的conf文件里,localRepository默认的{user.home}/.m2)
2) md-sal应用程序开发中遇到问题:
在ubuntu中,输入:
mvn archetype:generate-DarchetypeGroupId=org.opendaylight.controller-DarchetypeArtifactId=opendaylight-startup-archetype-DarchetypeRepository=https://nexus.opendaylight.org/content/repositories/public/-DarchetypeCatalog=https://nexus.opendaylight.org/content/repositories/public/archetype-catalog.xml
会有个交互提示,恭喜我吧,第一步就出了问题(呵呵哒)
错误问题:
Failed to execute goal org.apache.maven.plugins:maven-archetype-plugin:3.0.1:generate (default-cli) on project standalone-pom: archetypeCatalog 'https://nexus.opendaylight.org/content/repositories/public/archetype-catalog.xml' is not supported anymore. Please read the plugin documentation for details. -> [Help 1]
说这个版本是对应以前的版本,现在不适用了,说去看Help1,Help1又指向了一个网址,反正给了一堆英文,表示一句都看不懂~~~,找了一篇博客,说这个问题的解决办法,说了四种,一种都不行,(纠结ing~~~),我又找了篇博文(http://bbs.javaee.cc/post/62586_1_1.html),
说要先获取获取OpenDaylight settings.xml文件
执行如下命令:
cp -n ~/.m2/settings.xml{,.orig} ; \wget -q -O - https://raw.githubusercontent.com/opendaylight/odlparent/stable/boron/settings.xml > ~/.m2/settings.xml
创工程,依然也要写上面的语句:
mvn archetype:generate -DarchetypeGroupId=org.opendaylight.controller -DarchetypeArtifactId=opendaylight-startup-archetype -DarchetypeRepository=https://nexus.opendaylight.org/content/repositories/public/ -DarchetypeCatalog=https://nexus.opendaylight.org/content/repositories/public/archetype-catalog.xml
是的,语句时一样的,so ,也出现的上面的错误,我就想啊,那我把错的地方删了就OK了啊,
-DarchetypeCatalog=https://nexus.opendaylight.org/content/repositories/public/archetype-catalog.xml
mvn archetype:generate -DarchetypeGroupId=org.opendaylight.controller -DarchetypeArtifactId=opendaylight-startup-archetype -DarchetypeRepository=https://nexus.opendaylight.org/content/repositories/public/-DarchetypeVersion=1.0.3-Lithium-SR3
其余步骤就没有问题了,照着红色加粗的博文都可以做
3 验证模块功能又出现了问题,将example模块放入distribution-karaf-0.3.3-Lithium-SR3.tar.gz解压的文件夹对应的位置,运行并安装example的feature即我又不懂了。请参考博文http://www.sdnlab.com/16902.html
4 ubuntu中文件夹里面带有空格怎么办???
cd hello(多打一个空格??)nonono!!!
cd " "hello(空格要被双引号括起来)