2015-10-14 113 views
0

進口硒的.jar我試圖運行basic Selenium example.指定的pom.xml中因爲如此,包括一個可執行的.jar切入點:Maven的安裝無法從回購

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>MySel20Proj</groupId> 
    <artifactId>MySel20Proj</artifactId> 
    <version>1.0</version> 
    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-jar-plugin</artifactId> 
       <version>2.6</version> 
       <configuration> 
        <archive> 
         <manifest> 
          <addClasspath>true</addClasspath> 
          <mainClass>main.java.SeleniumTest</mainClass> 
         </manifest> 
        </archive> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 
    <dependencies> 
     <dependency> 
      <groupId>org.seleniumhq.selenium</groupId> 
      <artifactId>selenium-java</artifactId> 
      <version>2.48.2</version> 
     </dependency> 
    </dependencies> 
</project> 

我可以運行Maven安裝;然而,當我執行包含來自Selenium教程的示例代碼的jar時,我收到一個NoClassDefFoundError:/ org/openqa/selenium/webdriver,提示Selenium-java jar的Maven安裝失敗。

有沒有辦法解決這個問題,而不是將硒罐添加到本地類路徑?似乎Maven Central解決這個問題的方法不是很有效。

+1

有沒有指定的依賴關係類型爲 「POM」 的理由? – FriedSaucePots

+0

一個類似的問題的StackOverflow解決方案建議它作爲一個可能的修復;它沒有幫助。此外,所需資源位於IntelliJ的「外部庫」樹中,並且相關代碼沒有編譯器錯誤。也就是說,這些類已經被導入,但不會被添加到.jar中... – manglano

+0

是否試圖通過命令提示符執行jar文件? – Sighil

回答

1

我認爲問題在於您沒有在包含示例代碼的jar中添加依賴jar(本例中爲Selenium)。您可以添加以下插件,將Selenium添加到示例代碼jar中。

<build> 
    <plugins> 
     <!-- any other plugins --> 
     <plugin> 
     <artifactId>maven-assembly-plugin</artifactId> 
     <executions> 
      <execution> 
      <phase>package</phase> 
      <goals> 
       <goal>single</goal> 
      </goals> 
      </execution> 
     </executions> 
     <configuration> 
      <descriptorRefs> 
      <descriptorRef>jar-with-dependencies</descriptorRef> 
      </descriptorRefs> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 

How can I create an executable JAR with dependencies using Maven?

Including dependencies in a jar with Maven