Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Archived » Buckminster » Problem resolving JAXB compontents from maven repository
Problem resolving JAXB compontents from maven repository [message #494166] Thu, 29 October 2009 13:06 Go to next message
Damian Hofmann is currently offline Damian HofmannFriend
Messages: 16
Registered: July 2009
Junior Member
Hi


I have a small java 1.5 project that depends on JAXB. In my *.rmap a
maven provider exists with uri="http://repo1.maven.org/maven2".
Unfortunately, when materializing the project, buckminster is unable to
locate "jaxb-api.jar".


In the project I have the following included in my buckminster.cspex:

....

<cs:dependencies>
<cs:dependency name="com/sun/xml/bind/jaxb-xjc"
versionDesignator="2.1.9" versionType="String" componentType="jar" />
<cs:dependency name="com/sun/xml/bind/jaxb-impl"
versionDesignator="2.1.9" versionType="String" componentType="jar" />
<cs:dependency name="javax/xml/bind/jaxb-api" versionDesignator="2.2"
versionType="String" componentType="jar" />
<cs:dependency name="stax/stax-api" versionDesignator="1.0.1"
versionType="String" componentType="jar" />
<cs:dependency name="javax/xml/bind/activation"
versionDesignator="1.0.2" versionType="String" componentType="jar" />
<cs:dependency name="com/sun/xml/messaging/saaj/saaj-impl"
versionDesignator="1.3.2" versionType="String" componentType="jar" />

....

I have experimented with the versionDescriptors und versionTypes without
success. If I don't give any version Information an old version (I
believe it's 2.0) of jaxb-api.jar is downloaded. Buckminster doesn't
complain in that case, but JAXB doesn't work, because of the
incompatible jaxb-api.jar.

How do I get buckminster to download all the components in the correct
version? An IdeaI had, was to create an alternative URL provider to the
maven repository, since I "know" the exact URL to all of the components.

The construction of the url would look like this:
baseURL("http://repo1.maven.org/maven2/") +
componentName("javax/xml/bind/jaxb-api") + "/" + version("2.2") + "/" +
filename(jaxb-api) + "-" + version("2.2") + ".jar"


But I do not know if this is a good idea and how it's done.


Thanks for your help
Damian
Re: Problem resolving JAXB compontents from maven repository [message #494179 is a reply to message #494166] Thu, 29 October 2009 13:36 Go to previous messageGo to next message
Thomas Hallgren is currently offline Thomas HallgrenFriend
Messages: 3240
Registered: July 2009
Senior Member
Hi Damian,
The names of your dependencies seems a bit wrong. You're supposed to use the slash to separate the
groupId from the artifactId. So just one slash in a name.

I also suggest that you use the Triplet version instead of the String version when accessing a Maven
repository.

Regards,
Thomas Hallgren



Damian Hofmann wrote:
> Hi
>
>
> I have a small java 1.5 project that depends on JAXB. In my *.rmap a
> maven provider exists with uri="http://repo1.maven.org/maven2".
> Unfortunately, when materializing the project, buckminster is unable to
> locate "jaxb-api.jar".
>
>
> In the project I have the following included in my buckminster.cspex:
>
> ...
>
> <cs:dependencies>
> <cs:dependency name="com/sun/xml/bind/jaxb-xjc"
> versionDesignator="2.1.9" versionType="String" componentType="jar" />
> <cs:dependency name="com/sun/xml/bind/jaxb-impl"
> versionDesignator="2.1.9" versionType="String" componentType="jar" />
> <cs:dependency name="javax/xml/bind/jaxb-api"
> versionDesignator="2.2" versionType="String" componentType="jar" />
> <cs:dependency name="stax/stax-api" versionDesignator="1.0.1"
> versionType="String" componentType="jar" />
> <cs:dependency name="javax/xml/bind/activation"
> versionDesignator="1.0.2" versionType="String" componentType="jar" />
> <cs:dependency name="com/sun/xml/messaging/saaj/saaj-impl"
> versionDesignator="1.3.2" versionType="String" componentType="jar" />
>
> ...
>
> I have experimented with the versionDescriptors und versionTypes without
> success. If I don't give any version Information an old version (I
> believe it's 2.0) of jaxb-api.jar is downloaded. Buckminster doesn't
> complain in that case, but JAXB doesn't work, because of the
> incompatible jaxb-api.jar.
>
> How do I get buckminster to download all the components in the correct
> version? An IdeaI had, was to create an alternative URL provider to the
> maven repository, since I "know" the exact URL to all of the components.
>
> The construction of the url would look like this:
> baseURL("http://repo1.maven.org/maven2/") +
> componentName("javax/xml/bind/jaxb-api") + "/" + version("2.2") + "/" +
> filename(jaxb-api) + "-" + version("2.2") + ".jar"
>
>
> But I do not know if this is a good idea and how it's done.
>
>
> Thanks for your help
> Damian
Re: Problem resolving JAXB compontents from maven repository [message #494206 is a reply to message #494179] Thu, 29 October 2009 14:25 Go to previous messageGo to next message
Damian Hofmann is currently offline Damian HofmannFriend
Messages: 16
Registered: July 2009
Junior Member
Thanks Thomas,

So instead of

<cs:dependency name="javax/xml/bind/jaxb-api" versionDesignator="2.2"
versionType="String" componentType="jar" />

I have to write

<cs:dependency name="javax.xml.bind/jaxb-api" versionDesignator="2.2"
versionType="Tripple" componentType="jar" />

right?

I still get the same error message:
ERROR [0003] : No suitable provider for component
javax.xml.bind/jaxb-api:jar/2.2#Triplet was found in resourceMap
file:/Users/arbeit/Workspaces/autorentool/ag.leonardo.releng /leonardo.rmap

Damian




Thomas Hallgren schrieb:
> Hi Damian,
> The names of your dependencies seems a bit wrong. You're supposed to use
> the slash to separate the groupId from the artifactId. So just one slash
> in a name.
>
> I also suggest that you use the Triplet version instead of the String
> version when accessing a Maven repository.
>
> Regards,
> Thomas Hallgren
>
>
>
> Damian Hofmann wrote:
>> Hi
>>
>>
>> I have a small java 1.5 project that depends on JAXB. In my *.rmap a
>> maven provider exists with uri="http://repo1.maven.org/maven2".
>> Unfortunately, when materializing the project, buckminster is unable
>> to locate "jaxb-api.jar".
>>
>>
>> In the project I have the following included in my buckminster.cspex:
>>
>> ...
>>
>> <cs:dependencies>
>> <cs:dependency name="com/sun/xml/bind/jaxb-xjc"
>> versionDesignator="2.1.9" versionType="String" componentType="jar" />
>> <cs:dependency name="com/sun/xml/bind/jaxb-impl"
>> versionDesignator="2.1.9" versionType="String" componentType="jar" />
>> <cs:dependency name="javax/xml/bind/jaxb-api"
>> versionDesignator="2.2" versionType="String" componentType="jar" />
>> <cs:dependency name="stax/stax-api" versionDesignator="1.0.1"
>> versionType="String" componentType="jar" />
>> <cs:dependency name="javax/xml/bind/activation"
>> versionDesignator="1.0.2" versionType="String" componentType="jar" />
>> <cs:dependency name="com/sun/xml/messaging/saaj/saaj-impl"
>> versionDesignator="1.3.2" versionType="String" componentType="jar" />
>>
>> ...
>>
>> I have experimented with the versionDescriptors und versionTypes
>> without success. If I don't give any version Information an old
>> version (I believe it's 2.0) of jaxb-api.jar is downloaded.
>> Buckminster doesn't complain in that case, but JAXB doesn't work,
>> because of the incompatible jaxb-api.jar.
>>
>> How do I get buckminster to download all the components in the correct
>> version? An IdeaI had, was to create an alternative URL provider to
>> the maven repository, since I "know" the exact URL to all of the
>> components.
>>
>> The construction of the url would look like this:
>> baseURL("http://repo1.maven.org/maven2/") +
>> componentName("javax/xml/bind/jaxb-api") + "/" + version("2.2") + "/"
>> + filename(jaxb-api) + "-" + version("2.2") + ".jar"
>>
>>
>> But I do not know if this is a good idea and how it's done.
>>
>>
>> Thanks for your help
>> Damian
Re: Problem resolving JAXB compontents from maven repository [message #494207 is a reply to message #494206] Thu, 29 October 2009 15:01 Go to previous messageGo to next message
Thomas Hallgren is currently offline Thomas HallgrenFriend
Messages: 3240
Registered: July 2009
Senior Member
Damian Hofmann wrote:
> Thanks Thomas,
>
> So instead of
>
> <cs:dependency name="javax/xml/bind/jaxb-api" versionDesignator="2.2"
> versionType="String" componentType="jar" />
>
> I have to write
>
> <cs:dependency name="javax.xml.bind/jaxb-api" versionDesignator="2.2"
> versionType="Tripple" componentType="jar" />
>
> right?
>
Yes, almost. It's "Triplet", not "Tripple" and the component type should be "maven".

> I still get the same error message:
> ERROR [0003] : No suitable provider for component
> javax.xml.bind/jaxb-api:jar/2.2#Triplet was found in resourceMap
> file:/Users/arbeit/Workspaces/autorentool/ag.leonardo.releng /leonardo.rmap
>
Did you install the Buckminster Maven feature?

If you did, please set the console log level to DEBUG (Buckminster preferences) and try again. The
output may give you some hints.

If you can't find the source of the problem, please include the relevant parts of your rmap so that
I can review them.

Thanks,
- thomas
Re: Problem resolving JAXB compontents from maven repository [message #494230 is a reply to message #494207] Thu, 29 October 2009 16:30 Go to previous messageGo to next message
Damian Hofmann is currently offline Damian HofmannFriend
Messages: 16
Registered: July 2009
Junior Member
>> So instead of
>>
>> <cs:dependency name="javax/xml/bind/jaxb-api" versionDesignator="2.2"
>> versionType="String" componentType="jar" />
>>
>> I have to write
>>
>> <cs:dependency name="javax.xml.bind/jaxb-api" versionDesignator="2.2"
>> versionType="Tripple" componentType="jar" />
>>
>> right?
>>
> Yes, almost. It's "Triplet", not "Tripple" and the component type should
> be "maven".

OK, tried that. Now the error massage has changed. When materializing I
get a messagebox, saying:

***
'Materializing' has encoutered a problem.

Attempt to use an unresolved node. Request is
javax.xml.bind/jaxb-api:maven/[2.1,2.1]#Triplet
***

On console (loglevel set to debug) buckminster writes:

***
ERROR [0019] : No suitable provider for component
javax.xml.bind/jaxb-api:maven/[2.1,2.1]#Triplet was found in resourceMap
file:/Users/arbeit/Workspaces/autorentool/ag.leonardo.releng /leonardo.rmap
ERROR [0019] : No suitable provider for component
javax.xml.bind/jaxb-api:maven/[2.1,2.1]#Triplet was found in searchPath
org.eclipse.platform.RBUILD
ERROR [0019] : Rejecting provider
eclipse.import( http://download.eclipse.org/eclipse/updates/3.5?importType=b inary):
Components of type maven are not supported
ERROR [0019] : No suitable provider for component
javax.xml.bind/jaxb-api:maven/[2.1,2.1]#Triplet was found in searchPath
org.eclipse.galileo
ERROR [0019] : Rejecting provider
eclipse.import( http://download.eclipse.org/releases/galileo?importType=bina ry):
Components of type maven are not supported
ERROR [0019] : No suitable provider for component
javax.xml.bind/jaxb-api:maven/[2.1,2.1]#Triplet was found in searchPath
maven
ERROR [0019] : Rejecting provider
maven2(http://repo1.maven.org/maven2): No component match was found
***

What irritates me is, that buckminster is looking for JAXB 2.1 but JAXB
2.2 is specified.


My rmap looks like this:

***
<?xml version="1.0" encoding="UTF-8"?>
<rmap

...

<searchPath name="maven">
<provider xsi:type="mp:MavenProvider" readerType="maven2"
componentTypes="maven,jar" mutable="false" source="false">
<uri format="http://repo1.maven.org/maven2" />
</provider>
</searchPath>

...

<locator searchPathRef="maven" failOnError="false" />

</rmap>
***


Damian
Re: Problem resolving JAXB compontents from maven repository [message #494373 is a reply to message #494230] Fri, 30 October 2009 13:04 Go to previous messageGo to next message
Damian Hofmann is currently offline Damian HofmannFriend
Messages: 16
Registered: July 2009
Junior Member
Hi Thomas


I still have problems with buckminster. It seems that buckminster
downloads now most components but still has troubles with resolving
jaxb-api. Maybe the problem is, that the version isn't realy a Triplet.

As an workaround I have added a new locator to my rmap, that locates the
requestet jar as an url.

This looks like this:

***
<searchPath name="jaxb-api">
<provider readerType="url" componentTypes="jar" mutable="false"
source="false">
<uri
format=" http://repo1.maven.org/maven2/javax/xml/bind/jaxb-api/2.2/ja xb-api-2.2.jar"
/>
</provider>
</searchPath>

....

<locator searchPathRef="jaxb-api" failOnError="false"
pattern="^javax\.xml\.bind\/jaxb\-api(.+)?" />

***

Buckminster seems to do a lot of work now, but finaly I'm getting an
error message again, complaining about a missing .project-file for the
..buckminster-project.

What does it mean? How to solve that. Or am I following a death track
with this workaround anyway?


Greets Damian


Damian Hofmann schrieb:
>>> So instead of
>>>
>>> <cs:dependency name="javax/xml/bind/jaxb-api" versionDesignator="2.2"
>>> versionType="String" componentType="jar" />
>>>
>>> I have to write
>>>
>>> <cs:dependency name="javax.xml.bind/jaxb-api" versionDesignator="2.2"
>>> versionType="Tripple" componentType="jar" />
>>>
>>> right?
>>>
>> Yes, almost. It's "Triplet", not "Tripple" and the component type
>> should be "maven".
>
> OK, tried that. Now the error massage has changed. When materializing I
> get a messagebox, saying:
>
> ***
> 'Materializing' has encoutered a problem.
>
> Attempt to use an unresolved node. Request is
> javax.xml.bind/jaxb-api:maven/[2.1,2.1]#Triplet
> ***
>
> On console (loglevel set to debug) buckminster writes:
>
> ***
> ERROR [0019] : No suitable provider for component
> javax.xml.bind/jaxb-api:maven/[2.1,2.1]#Triplet was found in resourceMap
> file:/Users/arbeit/Workspaces/autorentool/ag.leonardo.releng /leonardo.rmap
> ERROR [0019] : No suitable provider for component
> javax.xml.bind/jaxb-api:maven/[2.1,2.1]#Triplet was found in searchPath
> org.eclipse.platform.RBUILD
> ERROR [0019] : Rejecting provider
> eclipse.import( http://download.eclipse.org/eclipse/updates/3.5?importType=b inary):
> Components of type maven are not supported
> ERROR [0019] : No suitable provider for component
> javax.xml.bind/jaxb-api:maven/[2.1,2.1]#Triplet was found in searchPath
> org.eclipse.galileo
> ERROR [0019] : Rejecting provider
> eclipse.import( http://download.eclipse.org/releases/galileo?importType=bina ry):
> Components of type maven are not supported
> ERROR [0019] : No suitable provider for component
> javax.xml.bind/jaxb-api:maven/[2.1,2.1]#Triplet was found in searchPath
> maven
> ERROR [0019] : Rejecting provider
> maven2(http://repo1.maven.org/maven2): No component match was found
> ***
>
> What irritates me is, that buckminster is looking for JAXB 2.1 but JAXB
> 2.2 is specified.
>
>
> My rmap looks like this:
>
> ***
> <?xml version="1.0" encoding="UTF-8"?>
> <rmap
>
> ...
>
> <searchPath name="maven">
> <provider xsi:type="mp:MavenProvider" readerType="maven2"
> componentTypes="maven,jar" mutable="false" source="false">
> <uri format="http://repo1.maven.org/maven2" />
> </provider>
> </searchPath>
>
> ...
>
> <locator searchPathRef="maven" failOnError="false" />
>
> </rmap>
> ***
>
>
> Damian
>
Re: Problem resolving JAXB compontents from maven repository [message #494532 is a reply to message #494230] Sat, 31 October 2009 08:35 Go to previous message
Thomas Hallgren is currently offline Thomas HallgrenFriend
Messages: 3240
Registered: July 2009
Senior Member
Hi Damian,
I suggest you take a look at the http://repo2.maven.org/maven2/javax/xml/bind/jaxb-api/maven- metadata.xml

It contains the following:

<metadata>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.0</version>
<versioning>
<versions>
<version>2.0</version>
<version>1.0</version>
</versions>
</versioning>
</metadata>

I don't see a version 2.2 in there. Perhaps someone forgot to update the meta-data or perhaps the newer versions are not
considered stable? I suggest you pop the question to the people responsible for the repository.

Regarding asking for 2.1, I don't really understand that and I can't reproduce it. When I test this, I get requests for
2.2 if that's what I have in the query. Are you asking for some other component and see this in the transitive
resolution? If that's the case, then try putting a check mark in "Continue on error", click "Resolve..." and then save
the resulting BOM. You can view it with the dependency viewer and see what component it is that requests version 2.1.

I tried resolving version 2.0 with your rmap and that works just fine.

Regards,
Thomas Hallgren


On 10/29/2009 05:30 PM, Damian Hofmann wrote:
>>> So instead of
>>>
>>> <cs:dependency name="javax/xml/bind/jaxb-api" versionDesignator="2.2"
>>> versionType="String" componentType="jar" />
>>>
>>> I have to write
>>>
>>> <cs:dependency name="javax.xml.bind/jaxb-api" versionDesignator="2.2"
>>> versionType="Tripple" componentType="jar" />
>>>
>>> right?
>>>
>> Yes, almost. It's "Triplet", not "Tripple" and the component type
>> should be "maven".
>
> OK, tried that. Now the error massage has changed. When materializing I
> get a messagebox, saying:
>
> ***
> 'Materializing' has encoutered a problem.
>
> Attempt to use an unresolved node. Request is
> javax.xml.bind/jaxb-api:maven/[2.1,2.1]#Triplet
> ***
>
> On console (loglevel set to debug) buckminster writes:
>
> ***
> ERROR [0019] : No suitable provider for component
> javax.xml.bind/jaxb-api:maven/[2.1,2.1]#Triplet was found in resourceMap
> file:/Users/arbeit/Workspaces/autorentool/ag.leonardo.releng /leonardo.rmap
> ERROR [0019] : No suitable provider for component
> javax.xml.bind/jaxb-api:maven/[2.1,2.1]#Triplet was found in searchPath
> org.eclipse.platform.RBUILD
> ERROR [0019] : Rejecting provider
> eclipse.import( http://download.eclipse.org/eclipse/updates/3.5?importType=b inary):
> Components of type maven are not supported
> ERROR [0019] : No suitable provider for component
> javax.xml.bind/jaxb-api:maven/[2.1,2.1]#Triplet was found in searchPath
> org.eclipse.galileo
> ERROR [0019] : Rejecting provider
> eclipse.import( http://download.eclipse.org/releases/galileo?importType=bina ry):
> Components of type maven are not supported
> ERROR [0019] : No suitable provider for component
> javax.xml.bind/jaxb-api:maven/[2.1,2.1]#Triplet was found in searchPath
> maven
> ERROR [0019] : Rejecting provider maven2(http://repo1.maven.org/maven2):
> No component match was found
> ***
>
> What irritates me is, that buckminster is looking for JAXB 2.1 but JAXB
> 2.2 is specified.
>
>
> My rmap looks like this:
>
> ***
> <?xml version="1.0" encoding="UTF-8"?>
> <rmap
>
> ...
>
> <searchPath name="maven">
> <provider xsi:type="mp:MavenProvider" readerType="maven2"
> componentTypes="maven,jar" mutable="false" source="false">
> <uri format="http://repo1.maven.org/maven2" />
> </provider>
> </searchPath>
>
> ...
>
> <locator searchPathRef="maven" failOnError="false" />
>
> </rmap>
> ***
>
>
> Damian
>
Previous Topic:aggregator editor on eclipse 3.5.1
Next Topic:NullPointerException when bundle depends on the system bundle
Goto Forum:
  


Current Time: Wed Jan 22 18:22:37 GMT 2025

Powered by FUDForum. Page generated in 0.07948 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top