Great, thanks for all your help, it makes for a better release! Cheers --Kurt

On 6/17/11 5:15 PM, David Jencks wrote:
My source (kevan miller) thinks you need the "includes" line in the NOTICE file. So I think it's time for a new vote...

thanks again!
david jencks

On Jun 17, 2011, at 1:49 PM, David Jencks wrote:


On Jun 17, 2011, at 1:03 PM, Kurt T Stam wrote:

On 6/17/11 9:26 AM, Kurt T Stam wrote:
On 6/16/11 8:03 PM, David Jencks wrote:

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 <https://repository.apache.org/content/repositories/snapshots/org/apache/juddi/uddi-ws/3.1.0-SNAPSHOT/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


Hi David,

If you deploy the uddi-ws.jar compiled against jaxws-2.2 to an environment where the jaxws-2.1 interfaces are used, then you will get linkage errors (missing methods). I'm talking older appservers here. So in short, our code maybe the same in both versions of the jar but the byte code produced is slightly different.

At release time I ran

mvn clean deploy -Papache-release -Pjaxws21

to add the jaxws21 version of the jar. But as you found out, this seems to mess with the meta data.

I'm open for suggestions on how to support this properly. Aren't classifiers used to support different jdk versions?

Cheers,

--Kurt

David,

OK after re-testing it turns out we don't need the different compile. Your assessment that the jars end up the same was true. Not entirely sure how we got to our conclusion we needed it before, but things are working now.

I suspect that somehow due to maven dependencies both the 2.1 and 2.2 jaxws specs got in the classpath or classloader graph and somehow both possible orders got used.


Do you see any more issues before I start another vote?

rat results look good to me.

I updated the NOTICE file to fix the copyright year and not mention junit. AFAICT juddi does not include any junit code and the NOTICE file is only supposed to include info about stuff that is actually included, not stuff that is used.

I'm asking someone whether the

This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).

line in the NOTICE file is needed..... even if it isn't it's not a major disaster :-). I'll let you know if I find out before you start the vote :-)

thanks for taking the time to straighten out all these little niggly details :-)

david jencks


Cheers,

--Kurt





Reply via email to