Eclipse RCP项目:如何配置p2更新站点指向本地HTTP服务器?
我之前在Debian 9环境下折腾过Eclipse RCP的p2本地更新测试,刚好也是用Apache搭的本地服务器,把我的实操步骤分享给你:
1. 安装并启动Apache
首先在Debian 9上安装Apache,执行命令:
sudo apt-get update && sudo apt-get install apache2
安装完成后启动服务:
sudo systemctl start apache2
可以打开浏览器访问http://localhost,看到Apache的默认页面就说明服务正常运行了。
2. 准备p2仓库目录
Debian 9中Apache的网页根目录是/var/www/html/,我们可以在这里创建一个专门存放p2仓库的目录,方便管理:
sudo mkdir /var/www/html/eclipse-p2-repo
为了后续导出产品时能顺利写入文件,需要把目录权限设置给当前用户:
sudo chown -R $USER:$USER /var/www/html/eclipse-p2-repo sudo chmod -R 755 /var/www/html/eclipse-p2-repo
3. 导出产品时直接部署到该目录
在Eclipse中导出RCP产品时,找到“生成p2更新站点”的配置项,把输出路径直接指向刚才创建的目录。建议按版本号分文件夹,比如导出到/var/www/html/eclipse-p2-repo/v1.1/,这样不同版本的仓库不会互相覆盖,也方便回滚测试。
导出完成后,你可以在浏览器访问http://localhost/eclipse-p2-repo/v1.1/,如果能看到artifacts.jar和content.jar这两个核心文件,就说明仓库部署成功了。
1. 开发阶段在产品配置中设置
打开你的.product文件,切换到Updates标签页:
- 点击「Add」按钮,在弹出的窗口中,Location栏输入本地Apache的仓库URL,比如
http://localhost/eclipse-p2-repo/v1.1/ - 勾选「Enable for this product」选项,保存配置即可。这样后续打包的产品就会默认指向这个更新站点。
2. 已安装产品的更新配置(可选)
如果需要修改已安装产品的更新站点,可以找到产品安装目录下的configuration/config.ini文件,添加或修改以下配置项:
eclipse.p2.repo.url=http://localhost/eclipse-p2-repo/v1.1/ eclipse.p2.update.enabled=true
保存后重启产品,它就会从本地Apache服务器检查更新了。
小提示
每次导出新版本后,直接把新的仓库文件导出到对应版本目录即可,Apache不需要重启,会自动读取新的仓库内容。如果遇到403访问错误,检查下仓库目录的权限是否设置为755,确保Apache能读取里面的文件。
内容的提问来源于stack exchange,提问作者Morpheus




