Jörg Schaible wrote:
Hi Tim,

Tim Cederman wrote on Wednesday, March 21, 2007 8:45 PM:

Hi,

I'm having a pretty weird problem with Maven at the moment.
When I run
mvn package on a project, it collects all the correct and most recent
jar files for me in the lib directory, however in the zip file instead
of naming them <project>-3.0-SNAPSHOT.jar (for example) it will name
them <project>-20070318.080720-37.jar.

Meanwhile in the project's own jar file, the manifest will point to
./lib/<project>-3.0-SNAPSHOT.jar.  This means the packaged
project does
not run.

It doesn't do this for every single dependency snapshot, and I can't
seem to work out a pattern as to which get named correctly and which
don't.
I have two repositories in my pom file:

<repositories>
        <repository>
                <id>common-repository</id>
                <name> Common Repository</name>
                <url>http://repository/common-repository</url>
        </repository>
        <repository>
                <id>snapshot-repository</id>
                <name>Trovix Snapshot Repository</name>
                <url>http://repository/snapshots</url>
                <snapshots>
                        <enabled>true</enabled>
                        <updatePolicy>always</updatePolicy>
                </snapshots>
        </repository>
</repositories>

[snip]

Have a look at the "uniqueVersion" entry, it's true by default: 
http://maven.apache.org/pom.html#Repository

- Jörg

It's true that
   <distributionManagement>
       <repository>
           <uniqueVersion>false</uniqueVersion>
           [..]
           </repository>
   </distributionManagement>
is a workaround for the described problem. That's how we configured our local snapshot repos because of this problem. But I think that the uniqueVersion-feature is quite nice. This should/must be fixed in the maven-jar-plugin so that
   <build>
       <plugins>
           <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-jar-plugin</artifactId>
               <configuration>
                   <archive>
                       <manifest>
                           <mainClass>[..]</mainClass>
                           <packageName>[..]</packageName>
                           <addClasspath>true</addClasspath>
                       </manifest>
                       [..]
                   </archive>
               </configuration>
           </plugin>
       </plugins>
   </build>
the class-path of the manifest does also reference the timestamped snapshots. Beside this problem timestamped snapshots are really usefull!

Jörn


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to