On Jun 16, 2011, at 2:42 PM, Kurt Stam wrote:

Hi David,

You should be able to specify a jaxws21 classifier to get the jaxws21 version?

Hi Kurt,

I might not have explained the problem very well.  However, I compared the jars I got from (no profile) and -Pjaxws21 and the only difference I can see is in some maven files, the class files all have the same size so I'd guess they are identical.  Can you explain what the difference is?  Usually a possibly different dependency is not a good enough reason to add a classifier.  I'd suggest compiling with the jaxws 2.1 spec and marking it as provided so the user can supply whatever spec they want.  Also, does this stuff really require jaxb 2.2?  I'd guess that since it works with jaxws 2.1 it doesn't.

Anyway.... back the the problem I think is happening (but haven't verified).

When you run mvn deploy it updates the maven-metadata.xml to indicate the timestamp and build number of the uploaded snapshot artifacts.  When maven tries to download a "SNAPSHOT" it looks at this metadata to find the most recent upload.  So, after I just pushed a plain uddi-ws-3.1.0-SNAPSHOT.jar the metadata looks like this:

<metadata modelVersion="1.1.0">
  <groupId>org.apache.juddi</groupId>
  <artifactId>uddi-ws</artifactId>
  <version>3.1.0-SNAPSHOT</version>
  <versioning>
    <snapshot>
      <timestamp>20110616.210535</timestamp>
      <buildNumber>16</buildNumber>
    </snapshot>
    <lastUpdated>20110616210535</lastUpdated>
    <snapshotVersions>
      <snapshotVersion>
        <extension>jar</extension>
        <value>3.1.0-20110616.210535-16</value>
        <updated>20110616210535</updated>
      </snapshotVersion>
      <snapshotVersion>
        <extension>pom</extension>
        <value>3.1.0-20110616.210535-16</value>
        <updated>20110616210535</updated>
      </snapshotVersion>
    </snapshotVersions>
  </versioning>
</metadata>
The previously existing uddi-ws-3.1.0-SNAPSHOT-jaxws21.jar still there but not mentioned in the metadata so I think it may be inaccessible.  On the other hand somehow it got into the repo without a timestamp which I thought was impossible so I could be wrong.

I'd still like to understand what the 2 ways of building the jar are for.

thanks!
david jencks



--Kurt

On Jun 16, 2011, at 17:13, David Jencks <david_jencks@yahoo.com> wrote:

I think there's a problem with how the build generates the two uddi-ws artifacts, plain and with the jaxws21 classifier.  Geronimo has been needing the plain one so I deployed a snapshot.  The snapshot repo now contains both but with different timestamp versions and the maven-metadata.xml only mentions the most recent.  I think this means that the jaxws21-classifier one will now be completely inaccessible.

I think to fix this we need to find a way to build both artifacts with one maven invocation.  I'm not sure how to do this.... if I have some extra time (unlikely) I'll see if I can figure out a way to configure two executions on the appropriate plugin.

thanks
david jencks