2016-09-03 2 views
1

私はmavenが新しく、現在はscalaプロジェクトを組み立てようとしています。プロジェクト構造:scala mavenプラグインjaにscalaファイルをパッケージ化していません

dir 
| 
|--src/main/java 
| 
|--src/main/scala 
| 
|--pom.xml 

私は一種の*.javaからコンパイル済みクラスをjarファイルに終わることに驚きましたが、*.scalaからコンパイル1にはありません。 maven-jar-pluginは、jarファイルを組み立てるための責任ですが、私は私がpom.xml

<plugins> 
    <plugin> 
     <groupId>net.alchim31.maven</groupId> 
     <artifactId>scala-maven-plugin</artifactId> 
     <version>3.1.3</version> 
    </plugin> 
    <plugin> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <configuration> 
      <source>1.8</source> 
      <target>1.8</target> 
     </configuration> 
    </plugin> 
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-jar-plugin</artifactId> 
     <version>2.4</version> 
     <configuration> 
      <archive> 
       <manifest> 
        <addClasspath>true</addClasspath> 
        <classpathPrefix>lib/</classpathPrefix> 
        <mainClass>HelloWorld</mainClass> 
       </manifest> 
      </archive> 
     </configuration> 
    </plugin> 
</plugins> 

にこれらのプラグインを追加しました。しかし何らかの理由で、スカラコンパイルされたクラスは追加されません。

QUESTION:mvn installを実行した後、最終的なjar.classファイルを追加しますか?スカラーコンパイラでコンパイルされた.classファイルを追加するには?

+0

をあなたはScalaのMavenプラグインのドキュメントを読みましたか? http://davidb.github.io/scala-maven-plugin/example_compile.html –

+0

それは 'mvn install'ではなく' mvn package'です。 –

+0

これはまた、以下のように役立ちます:http://docs.scala-lang.org/チュートリアル/ scala-with-maven.html – Samar

答えて

0

mvn packageは、あなたのjarをビルドしますが、maven-compiler-pluginはscalaソースファイルではなくjavaソースファイルのみをコンパイルします。 Scala-maven-pluginは、Javaソースとscalaソースの両方をコンパイルするために使用できます。

私はあなたがSRC /メイン/ javaの下にScalaのコードを入れていることから、SRC /メイン/スカラ座についてMavenを指示する必要がありますhttp://blog.rizvn.com/2016/04/scala-and-maven.html

を助けるかもしれない、しばらく前にこの上でブログ記事を書きました。これは次のようなビルドセクションで行われます。

0

"scala-maven-plugin"を代わりに使ってみることができますか?そして、Mavenのゴールを実行します。mvn clean package

<build> 
<sourceDirectory>${basedir}/src</sourceDirectory> 
<resources> 
    <resource> 
     <directory>${basedir}/src/test/resources</directory> 
    </resource> 
</resources> 
<plugins> 
    <plugin> 
     <groupId>net.alchim31.maven</groupId> 
     <artifactId>scala-maven-plugin</artifactId> 
     <version>${scala-maven-plugin.version}</version> 
     <configuration> 
      <sourceDir>${basedir}/src</sourceDir> 
      <outputDir>${basedir}/target/classes</outputDir> 
     </configuration> 
     <executions> 
      <execution> 
       <id>scala-compile-first</id> 
       <phase>process-resources</phase> 
       <goals> 
        <goal>compile</goal> 
       </goals> 
      </execution> 
     </executions> 
    </plugin> 
</plugins> 

関連する問題