2011-08-30 197 views
2

我想使用Ant運行構建文件。我正在使用Maven進行依賴。我在我的項目中有一個testNG依賴項。testNG Maven問題

這是pom.xml文件

<?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/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>be.anova.abis</groupId> 
    <artifactId>maven-pom</artifactId> 
    <packaging>pom</packaging> 
    <version>1.0-SNAPSHOT</version> 
    <name>My first Maven POM</name> 
<dependencies> 
    <dependency> 
     <groupId>org.testng</groupId> 
     <artifactId>testng</artifactId> 
     <version>6.2</version> 
    </dependency> 
</dependencies> 
</project> 

Maven的下載從mavenrepository TestNG的,但我得到一個錯誤,它抱怨它找不到org.testng.Assert和org.testng .annotations.Test。 (如下)

Compiling 10 source files to /home/shahin/Files/Development/Ant/ServiceEJBSample3/bin 
    [javac] /home/shahin/Files/Development/Ant/ServiceEJBSample3/ejbModule/net/company/test/Service1Test.java:5: package org.testng does not exist 
    [javac] import org.testng.Assert; 
    [javac]    ^
    [javac] /home/shahin/Files/Development/Ant/ServiceEJBSample3/ejbModule/net/company/test/Service1Test.java:6: package org.testng.annotations does not exist 
    [javac] import org.testng.annotations.Test; 
    [javac]       ^
    [javac] /home/shahin/Files/Development/Ant/ServiceEJBSample3/ejbModule/net/company/test/Service1Test2.java:5: package org.testng does not exist 
    [javac] import org.testng.Assert; 
    [javac]    ^

如果我不使用Maven和簡單使用ant並指定testNG.jar文件的位置,沒有一點問題都沒有。我使用了Maven爲Ant下載的相同的.jar文件,以確保我使用相同的源代碼。我也嘗試了maevnrepo的不同版本的testNG。任何見解?

我需要包括在POM文件中的所有依存關係(所有不同的包?像org.testng.Assert和org.testng.annotationsTest正因爲如此)?或者只是一個就足夠了?如果我需要將它們全部列入POM文件,那麼做到這一點的最佳方法是什麼?

+0

錯誤輸出看起來是從螞蟻,但你說這建立精細與螞蟻。你能描述一下你正在執行什麼命令來運行構建? –

回答

0

我已經打掃了Maven和再次修訂後的build.xml文件,它現在的作品。可能它在存儲庫中出錯了。非常感謝您的意見。

1

爲我工作。你有沒有先做一次mvn清潔?也許依賴沒有得到下載。

0

你的pom.xml看起來是正確的,也許你的資料庫有損壞,我建議rm -rf ~/.m2或者如果你不想下載整個互聯網,那麼只需要移除TestNG依賴。