这又是一篇打酱油的博客,这两天仅仅是捣腾了一下Maven环境。
虽然已安装了Eclipse的插件,但因为习惯于Maven进行项目管理,所以,觉得有点必要把Maven环境弄弄好,方便以后开发。我要做两件事,一是做一个archetype方便生成lejos项目骨架,二是做一个插件方便发布jar到设备中。下面容我一一道来。
lejos-helloworld-archetype
我采用制作archetype的最简便方法,从一个现成项目输出原型。所以,先手工弄一个lejos-helloworld项目(archetype为普通的quickstart)即可,具体步骤可以参考上一篇博客。然后,命令行执行(必须命令行执行):
$ mvn archetype:create-from-project
在target目录下会看到生成的原型generated-sources。
然后,稍修改一下即可使用,我只动了两个地方,让src/main/resources/META-INF/MANIFEST.MF能支持未来的项目定义。所以,一是MANIFEST.MF文件中的Main-Class:${package}.App,二是archetype-metadata.xml中让*.MF能走过滤以便上面写的属性能转换成未来的项目包名,让filtered=”true”即可。
然后,你就可以直接 $mvn install 这个原型项目到本地仓库即可,以后你会在Eclipse的Maven向导中找到这个archetype,见下图:
lejos-maven-plugin
在生成的helloworld项目的pom.xml中使用了一个插件,用法如下:
<plugin>
<groupId>cn.sharetop.maven</groupId>
<artifactId>lejos-maven-plugin</artifactId>
<version>0.0.1</version>
<executions>
<execution>
<id>scpupload</id>
<phase>deploy</phase>
<goals>
<goal>upload</goal>
</goals>
</execution>
</executions>
<configuration>
<commandTool>/leJOS_EV3_0.9.0-beta/bin/ev3scpupload</commandTool>
<deviceName>10.0.1.1</deviceName>
<targetPath>/home/lejos/programs</targetPath>
</configuration>
</plugin>
这个自定义的插件的upload目标唯一做的事情就是将输出的jar借助ev3scpupload工具上传到设备中。所以,插件的代码也非常简单,就不一一说了。
上述完整代码,我已放到GitHub上了,有兴趣的同学可以直接去查看源码或下载试用。地址是:http://github.com/sharetop/lejos/tree/develop/
好了,今天到此为止,下一篇我将正式开始研究LeJOS的内容。