导入ArduBlock到Eclipse中

工具准备

如果需要将ArduBlock导入到Eclipse中,需要一下工具

  1. Git
  2. Eclipse
  3. Maven
    • ArduBlock是一个Java开发的工具,我们使用Maven来管理ArduBlock的依赖库。
  4. M2Eclipse
    • 这是个可选项。如果需要开发Openblocks的话,可以在Eclipse中安装Maven的插件,可以提高开发的效率。
    • instll-m2e

准备代码

ArduBlock依赖于Openblocks。所以需要下载两个项目的源代码。首先到代码管理页面下载源代码,两个项目的地址如下:

https://github.com/heqichen/ardublock.git
https://github.com/heqichen/openblocks.git

可以在页面的右侧找到代码克隆的地址。比如,两个项目的地址是 https://github.com/heqichen/ardublock.git  Openblocks项目的代码克隆地址是 https://github.com/heqichen/openblocks.git

找到两个源代码克隆之地之后,需要在本机圈定一个开发目录,比如,我的开发目录是~/ardublock/。那么现在,可以打开终端/bash/命令行执行命令来下载源代码。

执行这两行命令后,可以看到类似下面的内容

Cloning into ‘openblocks’…
remote: Counting objects: 2166, done.
remote: Total 2166 (delta 0), reused 0 (delta 0), pack-reused 2166
Receiving objects: 100% (2166/2166), 4.20 MiB | 6.00 KiB/s, done.
Resolving deltas: 100% (863/863), done.
Checking connectivity… done.

git-clone

说明已经成功下载了源代码。本机的目录中也出现了两个新的项目文件夹。

git-folder

导入ArduBlock项目到Eclipse

现在有了源代码,就可以准备将代码导入到Eclipse中。

以下以ArduBlock项目为例,执行下面的命令。

执行这些命令,Maven会自动下载ArduBlock所需要的依赖包,并会编译测试。

Maven 的eclipse命令会将目录转换成Eclipse项目,这样就可以直接将项目导入到Eclipse中。如果需要导入Openblocks项目的话,同样的命令也可以在openblocks目录下执行。

打开Eclispe,依次选择
File -> Import -> Gernal -> Existing Projects into Workspace

eclipse-inport

这样ArduBlock就成功导入到Eclipse中了。但是,导入后可能Eclipse会提示以下的问题。

06-ardublock-error1

07-ardublock-error2

Eclipse会提示ArduBlock找不到Openblocks库,原因是arduBlock依赖于Openblocks,但是openblocks并没有在本地库中。所以需要在本地库中安装openblocks。

有两种方法解决这个问题

一种方法是直接使用Maven来安装Openblocks

在终端/命令行下,进入openblocks目录,并执行以下命令

这些命令后,Maven会编译并在本机安装openblocks.

08

看到编译成功后再进入eclipse刷新ardublock项目,就可以看到错误已经消失了。

09-ok

另一种方法就是也将Openblocks项目导入到Eclipse,并使用Eclipse的Maven插件来管理ArduBlock和Openblocks之间的依赖关系。

只要在openblocks下也同样执行相关maven命令,将openblocks目录转换成eclipse项目,然后导入到eclipse中。

如果eclipse有maven插件,当openblocks代码修改后,会自动更新ardublock的依赖,如果开发openblocks,这样会很方便。

10-ok2

42,320 total views, 2 views today

15 thoughts on “导入ArduBlock到Eclipse中

  1. 很详细的教程!

    截图中使用的是 1.0.2,但是 ardublock 依赖的是 1.0.3,如何解决呢?

    eclipse 报错:
    library: ‘E:\maven_repository\edu\mit\openblocks\1.0.3-SNAPSHOT\openblocks-1.0.3-SNAPSHOT.jar’ ardublock

    • 已解决。但是又有新的问题,就是 mvn install 出来的 jar 无法正常运行(但是 eclipse 里面可以运行 main):
      C:\Users\Lee>java -jar C:\Users\Lee\Downloads\ardublock-master\target\ardublock-all.jar
      Exception in thread “main” java.util.MissingResourceException: Can’t find resource for bundle java.util.PropertyResourceBundle, key bg.xxx_Button_Module
      at java.util.ResourceBundle.getObject(Unknown Source)
      at java.util.ResourceBundle.getString(Unknown Source)
      at edu.mit.blocks.controller.WorkspaceController.ardublockLocalize(WorkspaceController.java:223)
      at edu.mit.blocks.controller.WorkspaceController.setLangDefStream(WorkspaceController.java:173)
      at com.ardublock.Context.resetWorksapce(Context.java:142)
      at com.ardublock.Context.(Context.java:95)
      at com.ardublock.Main.startOpenblocksFrame(Main.java:34)
      at com.ardublock.Main.startArdublock(Main.java:28)
      at com.ardublock.Main.main(Main.java:23)

    • 我修改过openblocks的版本,因为openblocks里面bug太多了,我不断在修bug,但还没有把正在开发的版本放上来,如果出问题的话,自己修改一下版本,统一一下就可以了

    • I’m excited about ArduBlock as it’s been helpful teaching programming to elementary-aged kids.

      I also appreciate this tutorial, yet I got stuck at the same error: [Project ‘ardublock’ is missing required library: ‘C:\Users\JasonWChan\.m2\repository\edu\mit\openblocks\1.0.3-SNAPSHOT\openblocks-1.0.3-SNAPSHOT.jar’].

      How was it solved? Does it matter which Java version we use also? I’m using Java 1.80_60 with Eclipse Mars.1 Release (4.5.1) with Windows 7.

      Thanks so much in advance :) Jason

      Sorry, I can only understand English, so I had to use Google-Translator to understand the Chinese. :)

Leave a comment