tycho,是eclipse的一个孵化项目,是对maven的扩展,用于对eclipse 插件项目进行管理和构建。
关于tycho的解释和作用可以参考链接: http://blog.csdn.net/qinjienj/article/details/7908919。而且,相信能够用到tycho的GGMM们,应该还是能看得懂http://www.vogella.com/tutorials/EclipseTycho/article.html 中关于tycho的基本使用的。而且,在联网环境下,通过实例,相信学会使用tycho虽然可能有难度,但是应该可以学会,所以本文不赘述。
本文要讲到的问题是,在离线环境下,如何使用tycho。基本上,离线使用,首先肯定还是准备必要的环境了。
首先,需要在联网环境下配置一个maven仓库,并成功运行一个tycho管理的eclipse项目。对于在离线环境下需要使用到的打包方式,依赖等内容,在联网环境下先配置一次并运行成功。保证仓库中有tycho运行时需要用到的所有内容。
将联网环境下的仓库导入到离线环境。仓库中可用的内容主要是tycho相关的内容,其他内容其实可以不用导入,因为其他内容也可能非常大。(仓库中org和de开头两个文件夹)
还需要导入的内容是eclipse运行平台环境的p2仓库包。可以在链接http://download.eclipse.org/eclipse/downloads/drops4/R-4.4.2-201502041700/ 中下载当前最新的平台仓库。如下图红框所示:
在离线环境下,需要生成eclipse RCP项目的p2仓库。可以使用手工的方式先导出一次RCP程序,在导出时选择生成p2仓库。或者可以创建一个updatesite,build All生成更新仓库。
在tycho的父pom.xml中配置仓库位置。在联网环境下tycho的仓库地址配置一般如下:
<repositories> <repository> <id>luna</id> <layout>p2</layout> <url>http://download.eclipse.org/releases/luna</url> </repository> </repositories>
在离线环境下,仓库的配置需要修改为:
<repositories> <repository> <id>luna</id> <layout>p2</layout> <url>file:///D:/p2Rep/XXX</url> </repository> <repository> <id>platform</id> <layout>p2</layout> <url>file:///D:/p2Rep/</url> </repository> </repositories>
以上配置中,D:/p2Rep/XXX和D:/p2Rep/YYY用实际的RCP程序p2仓库和导入的平台仓库位置替代即可。需要注意,url的写法中,如果仓库是本地,file:///后面是三个“/”。如果访问的内部远程机器上的共享仓库,file://后面是两个"/"。
还需要注意的一个问题是,eclipse官网提供的语言包不是以仓库的形式提供,没有p2仓库的配置文件(artifact.xml和content.xml中没有语言包的配置信息)。所以,在导出RCP时如果要生成P2仓库,包含语言包则导出就会出错。通过updatesite的方式生成的仓库则可以包含语言包。
本文出自 “winger” 博客,谢绝转载!