我有大量需要安裝Eclipse的機器,並且要爲它們安裝/配置/管理插件(一套「標準」插件和配置集定義)。有沒有一種方法可以腳本化/自動化,以便在添加新插件並更改配置時,我可以運行此腳本並更新機器?自動安裝和配置Eclipse插件
感謝
編輯: 我到底做了什麼搶插件和Eclipse的所有目前批准的版本,並將其存儲在源代碼控制。然後我創建了一個可以安裝eclipse並將插件放在正確位置的ant腳本。有點笨重,但爲我們工作。由於這兩個答案,他們是有幫助的:)
我有大量需要安裝Eclipse的機器,並且要爲它們安裝/配置/管理插件(一套「標準」插件和配置集定義)。有沒有一種方法可以腳本化/自動化,以便在添加新插件並更改配置時,我可以運行此腳本並更新機器?自動安裝和配置Eclipse插件
感謝
編輯: 我到底做了什麼搶插件和Eclipse的所有目前批准的版本,並將其存儲在源代碼控制。然後我創建了一個可以安裝eclipse並將插件放在正確位置的ant腳本。有點笨重,但爲我們工作。由於這兩個答案,他們是有幫助的:)
您可以隨時編寫腳本來安裝/更新/卸載一個插件/一組插件。以下是安裝和卸載一組功能的腳本示例。該版本僅使用標準的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實例(Window-> Preferences-> Install/Update-> Automatic Updates-> Automatically find new updates並通知我)中啓用自動更新。它甚至可以與網絡驅動器一起工作,但我建議使用自定義更新站點,配置起來非常簡單。網絡路徑有一個固定的文件名的缺點,你必須把你的插件更新完全相同的名稱和相同的位置。
一個簡單的方法來做到這一點是創建一個自定義eclipse包與您的'標準'插件集安裝,然後複製在每臺機器上的捆綁。