自动化安装和配置Eclipse插件

3
我有大量的机器需要安装Eclipse,并安装/配置/管理插件(已定义了一组“标准”插件和配置)。是否有一种可以编写脚本/自动化的方式,以便在添加新插件和更改配置时,我可以运行此脚本并更新机器?
谢谢!
编辑: 最后我做的是获取所有经批准的插件和Eclipse版本,并将它们存储在源代码控制中。然后我创建了一个Ant脚本,可以安装Eclipse并将插件放到正确的位置。有点笨重,但对我们有用。感谢两个回答,它们都很有帮助 :)
2个回答

2

您可以编写一个脚本来安装/更新/卸载插件或一组插件。以下是一个安装和卸载一组特性的示例脚本。此版本仅使用标准的Windows命令。

set plugins_list_to_uninstall=my.plugin.id1 my.plugin.id2
set uninstalljoinedpluginslist=
for %%i in (!plugins_list_to_uninstall!) do (
    set uninstalljoinedpluginslist=%%i.feature.group,!uninstalljoinedpluginslist!
)

set plugins_list_to_install=my.plugin.id3 my.plugin.id4
set installjoinedpluginslist=
for %%i in (!plugins_list_to_install!) do (
    set installjoinedpluginslist=%%i.feature.group,!installjoinedpluginslist!
)

:: extract eclipse.p2.profile from config.ini
set profile=SDKProfile
if exist .\configuration\config.ini (
    for /f "tokens=1* delims==" %%i in ('find "eclipse.p2.profile" .\configuration\config.ini') do (
        set profile=%%j
    )
    echo Profile is detected as !profile!
)

:: then extract eclipse launcher version
if exist .\plugins\org.eclipse.equinox.launcher_*.jar (
    for /f %%a in ('dir /b/a-d .\plugins\org.eclipse.equinox.launcher_*.jar') do (
        for /f "tokens=1* delims=_" %%i in ("%%~Na") do (
            set launchver=%%j
        )
    )
    echo Eclipse launcher version is !launchver!
) else (
    set launchver=0
    echo Eclipse launcher is not detected. Is it old eclipse 3.2- ?
    goto :filecleanup
)

echo Asking Eclispe to uninstall !uninstalljoinedpluginslist!:
call java -jar ./plugins/org.eclipse.equinox.launcher_!launchver!.jar -application org.eclipse.equinox.p2.director -uninstallIU !uninstalljoinedpluginslist!

:: this should remove files physically for eclipse 3.6+ versions
call java -jar ./plugins/org.eclipse.equinox.launcher_!launchver!.jar -application org.eclipse.equinox.p2.garbagecollector.application -profile !profile!

echo Asking Eclispe to install !installjoinedpluginslist!:
call java -jar ./plugins/org.eclipse.equinox.launcher_!launchver!.jar -application org.eclipse.equinox.p2.director -installIU !installjoinedpluginslist!

详细信息请参见 p2.director 帮助: http://help.eclipse.org/indigo/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/p2_director.html

另一个选项是准备一个包含所有已安装插件的编译后的 Eclipse 发行版,如前所述。但是,您可以进一步从网络驱动器上安装所有必要的插件到您的系统中。或者(需要更多的努力),您可以自定义更新站点并将其部署在您的网络内的任何 Web 服务器上。关键是启用准备好的 Eclipse 实例中的自动更新功能(窗口->首选项->安装/更新->自动更新->自动查找新更新并通知我)。它甚至可以与网络驱动器一起工作,但我建议使用您自己的更新站点,这很容易配置。网络路径有一个固定文件名的缺点,您必须将您的插件更新与完全相同的名称且位于相同的位置。


1
创建一个自定义的 Eclipse 捆绑包,并安装您的“标准”插件集,然后将该捆绑包复制到每台计算机上是一种简单的方法。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接