2017-06-21 46 views
0

我對maven並不熟悉。不過,我知道這是一個流行的構建框架。所以,我創建了一個下面的pom.xml,並希望執行命令行測試「MVN ATF:ITEST」:我想通過「mvn atf:itest」執行test.sh給定的pom

<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>john.test</groupId> 
    <artifactId>Maventest</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <packaging>jar</packaging> 

    <name>Maventest</name> 
    <url>http://maven.apache.org</url> 

    <properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 

    <build> 
    <plugins> 
    <plugin> 
    <groupId>atf</groupId> 
    <artifactId>itest</artifactId> 
    <version>1.2</version> 
    <executions> 
     <execution> 
     <id>ITest</id> 
     <phase>Testing</phase> 
     <goals> 
      <goal>itest</goal> 
     </goals> 
     <configuration> 
      <executable>${basedir}/scripts/test.py</executable> 
      <arguments> 
      <argument>-s</argument> 
      </arguments> 
     </configuration> 
     </execution> 
    </executions> 
    </plugin> 
    </plugins> 
    </build> 

    <dependencies> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>3.8.1</version> 
     <scope>test</scope> 
    </dependency> 
    </dependencies> 
</project> 

但低於錯誤信息輸出顯示: # mvn atf:itest:1.2

什麼建議嗎?

在此先感謝!

+0

我只是提到 「https://sanchitbahal.wordpress.com/2011/09/19/maven-exec-plugin-vs-maven-antrun-plugin-for-running-command-line-tool/」。但是,它並沒有提供完整的pom.xml和在插件中執行命令的命令。 – johnklee

回答

1

除其他事項外,Maven的工作與插件。 本聲明:

<plugin> 
    <groupId>atf</groupId> 
    <artifactId>itest</artifactId> 
    <version>1.2</version> 

...告訴你想在你的項目中一個特定的插件,包括Maven的。

不過,我不能在Maven Central Repository找到這樣的插件。如果您將此插件放置在您的存儲庫中,則應通過repositories部分告訴Maven在哪裏可以找到它。

+0

因此,如果我只想Maven執行外部py文件,是否有適當的方法來做到這一點?說「mvn itest」? – johnklee

+0

爲了做到這一點,你需要一個知道如何運行python文件的插件。我不知道你從哪裏挖出來的;除非此工件位於某處的本地存儲庫中,否則它無法工作,因爲Maven不知道該插件是誰。 回答你的問題:如果你想執行python腳本,那麼你需要挖掘一個適合你的需求的插件(可能有幾個),並在你的項目中正確配置它;我以前沒有跑過python,所以我不知道該推薦什麼。 – Andrei

+0

嗨安德烈,明白了。非常感謝!讓我深入研究如何做。 – johnklee