Enterprise Plugin Repository

It is sometimes the case, you can create plugins you want to preserve for internal use only. With
IntelliJ IDEA
you can maintain your own enterprise repository to share your plugins with team members solely.

To create a repository, we need a Web server, where our plugins will reside, and a descriptor of available plugins (updatePlugins.xml), so IntelliJ IDEA could find them. This file can be located at the same Web server, for instance. By the time we decide to use plugins from the enterprise repository, we’ll only need to specify where this descriptor resides. To do so, open the Settings dialog (Ctrl + Alt + S) and go to Updates. In the Plugin Hosts section click Add and specify path to the updatePlugins.xml.

When creating updatePlugins.xml file for your repository, follow this DTD:, so IntelliJ IDEA would be able to recognize available plugins.
Each plugin entry in this file should contain plugin identifier and URL of the plugin repository. Additionally, we can specify here plugin version. Though, if it is not pointed out in updatePlugins.xml, IntelliJ IDEA will fish it out from the plugin *.jar.

For example, we upload MyPlugin to the Web server where the repository resides. Then we open the updatePlugins.xml and add new plugin entry, like this one:


And that’s all we need to do to add the plugin to our repository.

If the whole team uses customized IntelliJ IDEA, you can add the whole list of plugin hosts to the bin/ under IntelliJ IDEA installation folder. Just open this file and add the following line: -D idea.plugin.hosts=[URL1],[URL2],…[URLn] where [URL1],[URL2],…[URLn] is a comma-delimited list of the URLs to the enterprise repositories.

Once hosts are specified, plugins are automatically updated according to the schedule defined in the Check for updates field of the Updates dialog. Yet, you can update them manually any time you need it. Just open the Updates dialog and click Check now. Update Info dialog box opens showing the list of plugins from all the available enterprise repositories. You can unselect those of them you don’t want to update for some reason.
Don’t forget that updates will take effect after IntelliJ IDEA restart.

Technorati tags: , ,
Comments below can no longer be edited.

9 Responses to Enterprise Plugin Repository

  1. Avatar

    Hugo Palma says:

    March 4, 2008

    This is a great feature, i’ve been waiting for this ever since i started using IDEA.

    Regarding plugin repositories, the only thing i find missing is a hosted not stable plugins repository. A snapshots plugin repository, doing the Maven analogy. I think this would help plugin providers get feedback earlier from users.

  2. Avatar

    Boaz Nahum says:

    March 4, 2008

    You wrote:
    “If the whole team uses customized IntelliJ IDEA”.
    Can you describe in few words this subject. Is there a way to team to share configuration ?


  3. Avatar

    Maria Khalusova says:

    March 5, 2008

    You can customize the bin/ file and share it with the whole team, thus sharing lots of settings, including the list of plugin hosts.

  4. Avatar

    Dmitry says:

    May 12, 2008

    Hey, thanks for the very helpful post.
    I did exactly what you describe (I think) with somewhat different results. Each time IDEA update check is performed (like on startup in my case) it pops a dialog informing me that my plugins have been downloaded and I need to restart for the update to take effect. This happens every time with no regard to version or whether the jars have actually changed. Also there is no option to select which plugins to download.
    What am I missing?

  5. Avatar

    Nick says:

    August 19, 2008

    Hi Dmitry,

    Maybe you have solved this by now but I just set this up and I found I had a similar problem for one of my plugins.

    I fixed it by ensuring that the id matched the plugin name in the xml.



    Hope that helps.


  6. Avatar

    Pavel N. Moukhataev says:

    February 12, 2010

    In general plugins are packaged into zip file where there is lib directory and one jar file has the same name as the whole directory and contains META-INF/plugins.xml.

    But it seems that this doesn’t work with enterprise plugins. So my question is how enterprise plugins can be packaged to described in updatePlugins.xml to include several 3-d party jars?

  7. Avatar

    Szymek Pindelski says:

    October 30, 2013

    I’d like to report a broken link pointing to updatePlugins dtd :

  8. Avatar

    Jesse Z says:

    January 15, 2019

    Hey, what is the latest version of the dtd for the updatePlugins.xml? Can we add `from-build` and `until-build` to the xml file so that JetBrains IDEs can fetch the latest supporting version of the plugin for install?

Discover more