Do widgetsets need an index.list in their jar ?

Among other things, the com.vaadin:vaadin-archetype-widget Maven archetype generates this:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-jar-plugin</artifactId>
  <version>2.3.1</version>
  <configuration>
    <archive>
      <index>true</index>
      <manifest>
        <addClasspath>true</addClasspath>
        <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
      </manifest>
      <manifestEntries>
        <!-- Package format version - do not change -->
        <Vaadin-Package-Version>1</Vaadin-Package-Version>
        <Vaadin-License-Title>${Vaadin-License-Title}</Vaadin-License-Title>
        <Vaadin-Widgetsets>foo.bar.WidgetSet</Vaadin-Widgetsets>
      </manifestEntries>
    </archive>
  </configuration>
</plugin>

I was wondering if the was necessary, as well as the classpath entry in the manifest. The former seems to be causing strange issues for us on some platforms (InvalidJarIndexExceptions - and removing the index.list files from our jars prevents the issue).
Is this somewhat necessary or helpful for the Vaadin compiler, maybe ?

Thanks for any hint or tip !

Cheers,

-greg

I have the same issue. We are specifying the class path within our jar file using the Class-Path attribute in the Manifest file.

Because we are constructing our Jar file using the Uber Jar approach(expands every single jar file that your app depends on, combines all the files (including your app classes) in a single directory and repacks them into a single jar file.) Due to this the Index.LIST file which is included in Vaadin Jar files gets placed in our Manifest folder.

If there is a INDEX.LIST besides the MANIFEST.MF, then the classpath specified in the manifest is ignored.

This is causing issues with our deployment. As i understand it, the JarIndex is introduced to optimize the class searching process of class loaders for network applications, especially applets. For Vaadin, it does not make sense

Is there a way you can not include the index file?

Any suggestions on any possible solutions?

The index shouldn’t be necessary in add-ons, so try removing the line (or setting it to false). Also, I’m not aware of a reason why it would be needed in Vaadin JARs - as far as I know, it is not used by OSGi etc. either.

Please
create a ticket
about the widget archetype and another one about the Vaadin distribution JARs so that this doesn’t get forgotten.