ubuntu下使用intellij运行CloudSimSDN的示例

来源:互联网 发布:数据报表分析 编辑:程序博客网 时间:2024/06/05 10:02

CloudSimSDN的相关的资料在谷歌上比较少,目前我只找到了github上的这个项目源码。
https://github.com/fogony/cloudsimsdn
我按照git上的Usage运行,但是出现了下边的问题

可能我对java的命令行运行环境不太熟悉,或者别的原因,总之这种方式失败了。大家如果有兴趣用这个方式来运行,http://tantrabhavan.blogspot.com/有一个解决方案,是在windows上的,我也试过,配置的classpath有个jars目录,但是git上的源码没有这个jars的文件夹,所以我感觉是源码里少东西,所以也失败了。如果有人可以运行命令行的代码,非常感谢可以告诉我一下.
好,废话说完了,开始说运行这个代码的问题。
环境:ubuntu16.04,intellij,java(JDK 1.8)
步骤1:下载源码
这个最简单,我们新建一个文件夹cloudsimSDN,然后进入这个文件夹clone一下就可以了

mkdir CloudSimSDN
cd CloudSimSDN
git clone https://github.com/fogony/cloudsimsdn.git

步骤二:把源码导入intellij
这里我直接新建了一个project,类似eclipse的workspace的概念
打开intellij,new->project from existing sources,选择刚才下载的源码文件夹(注意这里是从git下载的目录文件夹,即cloudsimsdn文件夹,不大写,不是我们刚才建的那个,这里导错会,java项目的文件系统会找不到作为参数的几个文件).

步骤三:下载需要的jar包,并添加到intellij里边(注意jdk版本要等于或高于1.8)
github的这份代码运行需要四个依赖包:CloudSim,Apache Commons Math,JSON Simple ,Google Guava.
可以分别在下边四个链接下载jar包
123.206.79.49/cloudSim_jars.tar.gz
123.206.79.49/guava-18.0.jar
123.206.79.49/json_simple.jar
123.206.79.49/commons-math3-3.6.1-bin.tar.gz
添加jar包的步骤简单写一下,File->Project Struct,选择左边的Modules,中间选中自己的module,右边Dependencies,添加刚才下载的jar包ok就可以了.
这里写图片描述
步骤四:修改源码,使其能够运行
因为git上的例子是在命令行传参的,但是在intellij中我们没法给他传参数,所以我们需要改一下example的源码.
这里写图片描述
找到这几行代码,注释成这个样子。大致就是除掉了所有参数的判断,至于原来参数的值,上边的变量都定义了,我们都不需要再操作。
在运行会出错,原因在VirtualTopologyGenerator.java和PhysicalTopologyGenerator.java中,jsonObject是没有toJSONString方法的,这里改成toString即可.
步骤五:
现在运行这个项目应该就可以了,run->SDNExample就可以看到输出的结果了.
这里写图片描述
至此,运行就结束了.

0 0