Selenium2>>Child POM Error>>Missing artifact org.seleniumhq.selenium:selenium:jar:2.0rc2

1,630 views
Skip to first unread message

furnace915

unread,
Jun 7, 2011, 1:56:28 PM6/7/11
to Selenium Developers, t...@tool-man.org
I recently updated multiple Selenium dependencies in my Parent and
Child POMs to a single reference for Selenium 2.0 rc2 and am now
receiving the following error from the Child POM:

"Missing artifact org.seleniumhq.selenium:selenium:jar:2.0rc2:compile"

Can anyone help with this? I cleaned my project in Eclipse and
updated my Maven Dependencies to no avaiil.

Here are the exact POM dependencies I am using for Selenium2...my
research indicates they should be valid as typed:

>>>> PARENT POM
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium</artifactId>
<version>2.0rc2</version>
<scope>test</scope>
</dependency>

>>>> CHILD POM
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium</artifactId>
<scope>compile</scope>
</dependency>


Mark Collin

unread,
Jun 8, 2011, 9:51:15 AM6/8/11
to selenium-...@googlegroups.com
In 2.0b3 I was using:

<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-remote-control</artifactId>
<version>2.0b3</version>
</dependency>

But this broke when RC2 came out (I didn't update to RC1). It's all a bit
inconsistent atm IMHO as it changed between 2.0b1 and 2.0b2 as well, this is
currently working for me:

<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium</artifactId>
<version>2.0rc2</version>

<type>pom</type>
</dependency>

I have no idea what the final is going to look like. Can somebody who does
the maven release explain what the correct way is now (and update the docs
and the wiki so they all say the same thing).


--
You received this message because you are subscribed to the Google Groups
"Selenium Developers" group.
To post to this group, send email to selenium-...@googlegroups.com.
To unsubscribe from this group, send email to
selenium-develo...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/selenium-developers?hl=en.


--
This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from your system. If you are not the intended recipient you are notified that disclosing, copying, distributing or taking any action in reliance on the contents of this information is strictly prohibited.

If you have received this email in error please notify postm...@ardescosolutions.com

furnace915

unread,
Jun 8, 2011, 1:39:49 PM6/8/11
to Selenium Developers
Thanks for responding. Adding <type>POM</type> to both of our POM
files solved our issue.

We are officially up and running with rc2. We've only had one issue
arise with a deprecated method.
> For more options, visit this group athttp://groups.google.com/group/selenium-developers?hl=en.
>
> --
> This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from your system. If you are not the intended recipient you are notified that disclosing, copying, distributing or taking any action in reliance on the contents of this information is strictly prohibited.
>
> If you have received this email in error please notify postmas...@ardescosolutions.com

Michael Tamm

unread,
Jun 9, 2011, 9:06:33 AM6/9/11
to selenium-...@googlegroups.com
Hi,

I have updated the Maven docs weeks ago, but it seems they are hard to find: http://seleniumhq.org/download/maven.html

I'm still wondering if I have got the maven artifact names right: Many people fail to recognize, that the selenium artifact has packaging pom. But it only has dependencies to selenium-remote-control and selenium-server. Maybe we should change the packaging back to jar, but what should go inside that jar? Or should we maybe stop providing the selenium artifact? Does anybody might want to use a selenium-all artifact without dependencies? I have no idea. So please, Maven users out there, tell me your suggestions.

Kind regards, Michael

2011/6/8 furnace915 <brent.v...@gmail.com>

Mark Collin

unread,
Jun 9, 2011, 9:23:02 AM6/9/11
to selenium-...@googlegroups.com

The docs tell us to use:

 

<dependency>

        <groupId>org.seleniumhq.selenium</groupId>

        <artifactId>selenium-remote-control</artifactId>

        <version>...</version>

</dependency>

 

However this doesn’t work with 2.0rc2, instead we have to use:

 

<dependency>

            <groupId>org.seleniumhq.selenium</groupId>

            <artifactId>selenium</artifactId>

            <version>2.0rc2</version>

            <type>pom</type>

</dependency>

 

I have tried with:

 

<dependency>

            <groupId>org.seleniumhq.selenium</groupId>

            <artifactId>selenium-remote-control</artifactId>

            <version>2.0rc2</version>

            <type>pom</type>

</dependency>

 

and

 

<dependency>

            <groupId>org.seleniumhq.selenium</groupId>

            <artifactId>selenium-remote-control</artifactId>

            <version>2.0rc2</version>

</dependency>

 

 

but it doesn’t work


-- This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from your system. If you are not the intended recipient you are notified that disclosing, copying, distributing or taking any action in reliance on the contents of this information is strictly prohibited. If you have received this email in error please notify postm...@ardescosolutions.com

Luke Inman-Semerau

unread,
Jun 9, 2011, 6:42:02 PM6/9/11
to selenium-...@googlegroups.com
Michael, 

I wouldn't mind it disappearing, but instead of primarily pointing people to use selenium-remote-control the documentation should probably point them to the super set artifact selenium-server (Which is probably what Mark here needs to do to get it working).

Personally I don't use this selenium pom artifact (using the selenium-server one), but have pointed people to it simply because it was there and included everything they might need.

I do however have an issue with the current release's dependency chain. We are using the maven-enforcer-plugin with the DependencyConvergence rule and get this when including selenium:

[ERROR] 
Dependency convergence error for org.apache.httpcomponents:httpclient:4.0.2 paths to dependency are:
+-com.lukeis:sandbox:0.1-SNAPSHOT
  +-org.seleniumhq.selenium:selenium:2.0rc2
    +-org.seleniumhq.selenium:selenium-remote-control:2.0rc2
      +-org.seleniumhq.selenium:selenium-chrome-driver:2.0rc2
        +-org.seleniumhq.selenium:selenium-remote-driver:2.0rc2
          +-org.apache.httpcomponents:httpclient:4.0.2
and
+-com.lukeis:sandbox:0.1-SNAPSHOT
  +-org.seleniumhq.selenium:selenium:2.0rc2
    +-org.seleniumhq.selenium:selenium-remote-control:2.0rc2
      +-org.seleniumhq.selenium:selenium-htmlunit-driver:2.0rc2
        +-net.sourceforge.htmlunit:htmlunit:2.8
          +-org.apache.httpcomponents:httpclient:4.0.1
and
+-com.lukeis:sandbox:0.1-SNAPSHOT
  +-org.seleniumhq.selenium:selenium:2.0rc2
    +-org.seleniumhq.selenium:selenium-remote-control:2.0rc2
      +-org.seleniumhq.selenium:selenium-htmlunit-driver:2.0rc2
        +-net.sourceforge.htmlunit:htmlunit:2.8
          +-org.apache.httpcomponents:httpmime:4.0.1
            +-org.apache.httpcomponents:httpclient:4.0.1

[ERROR] 
Dependency convergence error for commons-codec:commons-codec:1.3 paths to dependency are:
+-com.lukeis:sandbox:0.1-SNAPSHOT
  +-org.seleniumhq.selenium:selenium:2.0rc2
    +-org.seleniumhq.selenium:selenium-remote-control:2.0rc2
      +-org.seleniumhq.selenium:selenium-chrome-driver:2.0rc2
        +-org.seleniumhq.selenium:selenium-remote-driver:2.0rc2
          +-org.apache.httpcomponents:httpclient:4.0.2
            +-commons-codec:commons-codec:1.3
and
+-com.lukeis:sandbox:0.1-SNAPSHOT
  +-org.seleniumhq.selenium:selenium:2.0rc2
    +-org.seleniumhq.selenium:selenium-remote-control:2.0rc2
      +-org.seleniumhq.selenium:selenium-htmlunit-driver:2.0rc2
        +-net.sourceforge.htmlunit:htmlunit:2.8
          +-commons-codec:commons-codec:1.4

[ERROR] 
Dependency convergence error for commons-io:commons-io:1.4 paths to dependency are:
+-com.lukeis:sandbox:0.1-SNAPSHOT
  +-org.seleniumhq.selenium:selenium:2.0rc2
    +-org.seleniumhq.selenium:selenium-remote-control:2.0rc2
      +-org.seleniumhq.selenium:selenium-htmlunit-driver:2.0rc2
        +-net.sourceforge.htmlunit:htmlunit:2.8
          +-commons-io:commons-io:1.4
and
+-com.lukeis:sandbox:0.1-SNAPSHOT
  +-org.seleniumhq.selenium:selenium:2.0rc2
    +-org.seleniumhq.selenium:selenium-remote-control:2.0rc2
      +-org.seleniumhq.selenium:selenium-firefox-driver:2.0rc2
        +-commons-io:commons-io:2.0.1

The enforcer is included in our parent pom... I get around it currently by excluding those artifacts from my selenium dependency and then including the proper version dependency. This is more of a warning than an error in my opinion, but would be nice to clean up the dependency tree.

-Luke


to include this enforcer (if you were so inclined):
<build>
<plugins>
<plugin>
<artifactId>maven-enforcer-plugin</artifactId>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<id>enforce</id>
<configuration>
<rules>
<DependencyConvergence />
</rules>
</configuration>
<goals>
<goal>enforce</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>

Michael Tamm

unread,
Jun 10, 2011, 4:37:52 AM6/10/11
to selenium-...@googlegroups.com
Please be carefull about the artifactId: the selenium-remote-control artifact has the packaging type "jar" and if you only use the client stuff this is the artifact you should depend on it exactly as the documentation states. For me the last example you gave - which reflects what the documentation suggests - works perfectly. Could you please send me the Maven output, if it really does not work for you? If you use the server stuff in the same project, you must add a dependency to the selenium-server artifact too OR you can add a dependency to the "uber artifact" selenium, but than you need to add <type>pom</type> to this dependency - this is, what you do now, if I understood you correctly.

The motivation behind all this is: I want to provide an artifact with all the client stuff (which is the selenium-remote-control artifact, the name comes from Selenium 1) and another artifact with all the server stuff (the selenium-server artifact). I also wanted to provide an artifact for everything Selenium offers, but I'm not sure if this is a good which, because this artifact has the packaging type pom, because it has only dependencies to the two previously mentioned artifacts and people fail to recognize this and wonder why ther is no selenium.jar. I'm not happy with this situation, but I don't see an easy solution yet ...

Kind regards, Michael

2011/6/9 Mark Collin <ma...@ardescosolutions.com>

Michael Tamm

unread,
Jun 10, 2011, 4:41:19 AM6/10/11
to selenium-...@googlegroups.com
Hmm, those errors seem to come from a confilct between the libraries we use and the dependenices from HtmlUnit, I will have a look if I can fix this by modifing the pom.xml for the selenium-htmlunit-driver ...

Thanks for hint.

Kind regards, Michael

2011/6/10 Luke Inman-Semerau <luke.s...@gmail.com>

Michael Tamm

unread,
Jun 15, 2011, 8:38:30 AM6/15/11
to selenium-...@googlegroups.com
I have just committed http://code.google.com/p/selenium/source/detail?r=12490
which fixes the inconsistent versions in the dependencies of selenium-htmlunit-driver.

Kind regards, Michael

2011/6/10 Luke Inman-Semerau <luke.s...@gmail.com>
Michael, 

Mark Collin

unread,
Jun 15, 2011, 9:35:45 AM6/15/11
to selenium-...@googlegroups.com
So what should we be using as our dependency when RC3 comes out?

Kind regards, Michael

2011/6/10 Luke Inman-Semerau <luke.s...@gmail.com>

>> *From:* selenium-...@googlegroups.com [mailto:
>> selenium-...@googlegroups.com] *On Behalf Of *Michael Tamm
>> *Sent:* 09 June 2011 14:07
>> *To:* selenium-...@googlegroups.com
>> *Subject:* Re: [selenium-developers] Re: Selenium2>>Child POM


>> Error>>Missing artifact org.seleniumhq.selenium:selenium:jar:2.0rc2
>>
>>
>>
>> Hi,
>>
>>
>>
>> I have updated the Maven docs weeks ago, but it seems they are hard
>> to
>> find: http://seleniumhq.org/download/maven.html
>>
>>
>>
>> I'm still wondering if I have got the maven artifact names right:
>> Many people fail to recognize, that the selenium artifact has
>> packaging pom. But it only has dependencies to selenium-remote-control
and selenium-server.
>> Maybe we should change the packaging back to jar, but what should go
>> inside that jar? Or should we maybe stop providing the selenium
>> artifact? Does anybody might want to use a selenium-all artifact
>> without dependencies? I have no idea. So please, Maven users out there,

tell me your suggestions=

Luke Inman-Semerau

unread,
Jun 15, 2011, 10:46:25 AM6/15/11
to selenium-...@googlegroups.com
Awesome! Saw that you added DependecyConveergence too! (now hopefully I remember when the next release comes around to strip out my workaround) 

Thank you Michael!

-Luke
Reply all
Reply to author
Forward
0 new messages