Hi there,

We try to migrate to Maven 3.0 here but one assembly causes us headache.

In the project we try to build a runnable jar that depends on libraries that
are assembled into a lib folder. Under Maven 2(.2.1) we have no problem with
that, the runnable jar works as designed. The same project build under Maven
3.0.2 currently builds the project without complaints, but in our resulting
jar's MANIFEST.MF file the Class-Path entry is missing completely.

Is this a known bug, is there a workaround known if so? Or do I need to
modify something in the assembly for this?

here's our plugin configuration:
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>2.2</version>
        <executions>
          <execution>
            <id>deploy-assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <attach>false</attach>
              <descriptors>

<descriptor>src/main/assembly/executable-assembly.xml</descriptor>
              </descriptors>
              <archive>
                <manifest>

<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                  <mainClass>com.energyintellect.ecg.Application</mainClass>
                  *<addClasspath>true</addClasspath>*
                  <addExtensions>false</addExtensions>
                </manifest>
              </archive>
              <finalName>eig-${project.version}</finalName>
            </configuration>
          </execution>
      </plugin>

and the assembly descriptor:

<assembly xmlns="http://maven.apache.org/xsd/assembly-1.1.0"; xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance";
  xsi:schemaLocation="http://maven.apache.org/xsd/assembly-1.1.0
http://maven.apache.org/xsd/assembly-1.1.0-SNAPSHOT.xsd";>
  <id>bin</id>
  <formats>
    <format>jar</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
    <dependencySet>
      <useProjectArtifact>false</useProjectArtifact>
      <unpack>true</unpack>
      <scope>runtime</scope>
      <includes>
        <include>com.[...]</include>
        <include>com.[...]</include>
        <include>com.[...]</include>
        <include>com.[...]</include>
        <include>com.smardec:license4j</include>
        <include>net.wimpi:modbus</include>
      </includes>
    </dependencySet>
  </dependencySets>
  <fileSets>
    <fileSet>
      <directory>target/classes</directory>
      <outputDirectory></outputDirectory>
    </fileSet>
  </fileSets>
</assembly>

Cheers,
Kai

Reply via email to