Uploaded image for project: 'Confluence Data Center'
  1. Confluence Data Center
  2. CONFSERVER-30418

Error when no -Dconfluence.plugins.extra.bundled.locations is specified

    XMLWordPrintable

Details

    Description

      On Confluence startup, you can find this error if it the parameter -Dconfluence.plugins.extra.bundled.locations is not specified in the JAVA options.

      2013-08-15 10:32:12,368 ERROR [main] [atlassian.confluence.plugin.PluginLoadersFactory] get Unable to load extra plugins from  specified in -Dconfluence.plugins.extra.bundled.locations. file not found or unreadable

      Mind the extra space in from specified caused because the path is empty.

      The problem comes from this snippet of Code:

      com/atlassian/confluence/plugin/PluginLoadersFactory.java
          public List<PluginLoader> get()
          {
              List<PluginLoader> loaders = new ArrayList<PluginLoader>();
      
              for (String pluginModuleXmlLocation : pluginModuleXmlLocations)
              {
                  loaders.add(new SinglePluginLoader(pluginModuleXmlLocation));
              }
      
              loaders.addAll(configuredLoaders);
      
              String[] extraBundledLocations = getExtraLocationsForSystemProperty(EXTRA_BUNDLED_PLUGINS_SYSTEM_PROPERTY);
      
              for (String extraBundledLocation : extraBundledLocations)
              {
                  File location = new File(extraBundledLocation);
                  if (!location.exists() || !location.canRead())
                  {
                      log.error("Unable to load extra plugins from " + extraBundledLocation + " specified in -D" + EXTRA_BUNDLED_PLUGINS_SYSTEM_PROPERTY + ". file not found or unreadable");
                  }
                  else
                  {
                      log.info("Loading additional plugins from " + extraBundledLocation);
                      loaders.add(extraBundledPluginsFactory.newPluginLoader(location));
                  }
              }
      
              return Lists.newArrayList(Collections2.filter(loaders, new Predicate<PluginLoader>() {
                  @Override
                  public boolean apply(@Nullable PluginLoader input)
                  {
                      return input != null;
                  }
              }));
          }

      We should only try to load the plugins when the location is not empty and the parameter -Dconfluence.plugins.extra.bundled.locations has been specified.

      Attachments

        Issue Links

          Activity

            People

              cmiller CharlesA
              aconde Alejandro Conde Carrillo (Inactive)
              Votes:
              3 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: