2017-01-12 3 views
0

jarファイルにscalaテストケースを含めたいとします。私はmavenプロジェクトを持っています。 私は次のように使用している:mavenプロジェクトのjarファイルにscalaテストケースを追加する

<assembly> 
<id></id> 
<formats> 
    <format></format> 
</formats> 
<includeBaseDirectory>false</includeBaseDirectory> 

<dependencySets> 
    <dependencySet> 
     <includes> 
      <include>...</include> 
     </includes> 
    </dependencySet> 
    <dependencySet> 
     <outputDirectory></outputDirectory> 
    </dependencySet> 
</dependencySets> 
<fileSets> 
    <fileSet> 
     <directory>${project.build.directory}/test/scala</directory> 
     <outputDirectory>/</outputDirectory> 
     <includes> 
      <include>**/*.class</include> 
     </includes> 
     <useDefaultExcludes>true</useDefaultExcludes> 
    </fileSet> 
</fileSets> 

は、誰もが

MVNきれいなパッケージに

感謝を使用してjarファイルにScalaのテストケースを追加する方法が何であるかを教えてもらえます。

+0

あなたは 'ScalaTest' Mavenプラグインを構成する方法を、求めていますか? See more [ScalaTest](http://www.scalatest.org/user_guide) – fabfas

+0

いいえ、実際には、私はfunsiteを使っていくつかのテストケースを書いています。これらのテストケースをすべてクラスタ上で実行しようとしています。それで、すべてのテストケースを持つjarファイルを作成する必要があるのですが、クラスタ上で同じjartoを実行することができます。 – avy

答えて

1

テストクラスと外部依存関係を持つファットjarを作成する必要があります。

プラグイン例:Maven Assembly Pluginは当然の選択である

あなたはまた、 src\main\assemblyフォルダ内に、次の内容の assembly.xmlファイル descriptor fileを作成する必要が
<plugin> 
    <artifactId>maven-assembly-plugin</artifactId> 
     <version>2.3</version> 
      <configuration> 
       <descriptor>src/main/assembly/assembly.xml</descriptor> 
      </configuration> 
      <executions> 
       <execution> 
        <id>make-assembly</id> 
        <phase>package</phase> 
        <goals> 
         <goal>single</goal> 
        </goals> 
        <configuration> 
         <archive> 
          <manifest> 
           <mainClass>com.example.MainTest</mainClass> 
          </manifest> 
         </archive> 
        </configuration> 
        </execution> 
      </executions> 
</plugin> 

例:

<assembly 
    xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd"> 
    <id>fat-tests</id> 
    <formats> 
     <format>jar</format> 
    </formats> 
    <includeBaseDirectory>false</includeBaseDirectory> 
    <dependencySets> 
     <dependencySet> 
      <outputDirectory>/</outputDirectory> 
      <useProjectArtifact>true</useProjectArtifact> 
      <unpack>true</unpack> 
      <scope>test</scope> 
     </dependencySet> 
    </dependencySets> 
    <fileSets> 
     <fileSet> 
      <directory>${project.build.directory}/test-classes</directory> 
      <outputDirectory>/</outputDirectory> 
      <includes> 
       <include>**/*.class</include> 
      </includes> 
      <useDefaultExcludes>true</useDefaultExcludes> 
     </fileSet> 
    </fileSets> 
</assembly> 

ビルドジャー:

mvn clean compile test-compile assembly:single 

ランジャー:

java -jar fat-jar-include-tests.jar 
+0

ありがとうございました...それはうまくいきました...詳細な返信には大変感謝します。 – avy

+0

ようこそ! – fabfas

関連する問題