2016-11-23 167 views
-1

我們正在開發使用硒和Junit的自動化測試。我們的要求是使用Maven製作一個可執行的jar文件。項目結構看起來像這樣如何運行使用maven創建的可執行jar文件?

Project 
    |src\main\java 
    |src\main\res 
    |src\test\java 
     |testmain 
      |MainTest.java 
    |src\test\res 
    |target 
    |pom.xml 

我們使用maven組件插件創建jar文件

<plugin> 
    <artifactId>maven-assembly-plugin</artifactId> 
    <configuration> 
    <archive> 
     <manifest> 
     <mainClass>testMain.MainTest</mainClass> 
     </manifest> 
    </archive> 
    <descriptorRefs> 
     <descriptorRef>jar-with-dependencies</descriptorRef> 
    </descriptorRefs> 
    </configuration> 
</plugin>` 

我們可以能夠創建jar文件(SampleMaven-0.0.1-SNAPSHOT-JAR-與 - 依賴關係.jar)使用這個命令。

清潔套裝組件:單

但是,當我們嘗試使用

Java來運行它的罐子SampleMaven-0.0.1-SNAPSHOT-JAR-與-dependencies.jar

我們得到這個錯誤

無法找到或加載主類testMain.MainTest

請幫我解決這個錯誤

編輯:

正如我上面提到的,我不能有MainTest.java在SRC /主文件夾,因爲我們的項目只是關於主要使用硒的自動化測試。硒/ junit是不在src/main下工作的測試框架。請讓我知道是否有任何其他方法來解決這一衝突。

+0

請不要發佈圖片,將結構發佈爲文字。類testMain.MainTest是否存在?你能解開你的JAR,看看它是否在那裏? – Tunaki

+1

你在'MainTest'類中有'main'方法嗎? –

+4

「/ src/test''文件夾中的所有文件都不會打包到jar中。將你的MainTest類放在''/ src/main''中。 ''/ src/test''應該包含你項目的測試文件(單元測​​試等),而不是最終產品的一部分。 – f1sh

回答

3

將應該成爲打包罐的一部分的所有文件放入/src/main而不是/src/test

/src/test應該包含你的項目的測試文件(單元測​​試等),不是最終的工件的一部分。這就是爲什麼java無法在jar中找到類。

+0

我們正在使用黃瓜/ junit來運行我們的測試。當我們在'/ src/main'下時,cucumber/junit不起作用。 – user1553680

相關問題