2017-04-12 20 views
0

でMavenプロジェクトでScalaのオブジェクトを実行することはできませんそして、私はそれを実行しようとすると、すべてがうまくいって "Hello World !!!"は、STS(エクリプス)

しかし、それをmavenに変換するとSTSはもはやメインクラスを見つけることができません。ここで私は、その後の手順です:

1-Iは、MavenのにScalaのプロジェクトにコンバート:

プロジェクトを右クリック - >設定 - > Mavenのプロジェクトに変換 - >完了

2 - 私が変更標準のpom.xml:クリーン

4インストール - 私は、Scalaはオブジェクト実行しよう:

<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>ScalaMavenTest</groupId> 
    <artifactId>ScalaMavenTest</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 

    <repositories> 
     <repository> 
      <id>scala-tools.org</id> 
      <name>Scala-tools Maven2 Repository</name> 
      <url>https://oss.sonatype.org/content/groups/scala-tools/</url> 
     </repository> 
    </repositories> 

    <pluginRepositories> 
     <pluginRepository> 
      <id>scala-tools.org</id> 
      <name>Scala-tools Maven2 Repository</name> 
      <url>https://oss.sonatype.org/content/groups/scala-tools/</url> 
     </pluginRepository> 
    </pluginRepositories> 

    <dependencies> 
     <dependency> 
      <groupId>org.scala-lang</groupId> 
      <artifactId>scala-library</artifactId> 
      <version>2.11.4</version> 
     </dependency> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>3.8.1</version> 
      <scope>test</scope> 
     </dependency> 
    </dependencies> 

    <build> 
     <sourceDirectory>src</sourceDirectory> 
     <pluginManagement> 
      <plugins> 
       <plugin> 
        <groupId>net.alchim31.maven</groupId> 
        <artifactId>maven-scala-plugin</artifactId> 
        <version>3.2.0</version> 
       </plugin> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-compiler-plugin</artifactId> 
        <version>3.1</version> 
       </plugin> 
       <plugin> 
        <groupId>org.scala-tools</groupId> 
        <artifactId>maven-scala-plugin</artifactId> 
        <executions> 
         <execution> 
          <id>scala-compile-first</id> 
          <phase>process-resources</phase> 
          <goals> 
           <goal>add-source</goal> 
           <goal>compile</goal> 
          </goals> 
         </execution> 
        </executions> 
       </plugin> 
      </plugins> 
     </pluginManagement> 
    </build> 
</project> 

3 - - > Mavenのよう実行してビルドします... - >目標プロジェクトを右クリックしてくださいsのスカラアプリケーション:

4.1プロジェクトを右クリック - >プロパティ - >スカラコンパイラ - > [使用プロジェクトの設定を選択 - > Scalaのインストール - >固定スカラ インストール2.11.8(ビルトイン)

4.2右出力は次のエラーであるしかし

 Project: ScalaMavenTest 

    Main Class: ScalaMavenTest.HelloWorld 

エラー:検索またはメインロードできませんでした> Scalaのアプリケーションをダブルクリック - > [ファイル名を指定して実行として - - >実行構成ScalaのオブジェクトをクリックしてくださいクラスScalaMavenTest.HelloWorld

この質問はすでによく2年前にここに頼まれました:

Running a scala application in maven project

しかし、私はすべて与えられた答えを試してみましたが、私はまだ同じエラーを持っています。私は可能な解決策がアップデートを必要とするか、何かが足りないと思う。その他の推奨事項はありますか?

エクストラ詳細:

春ツールスーツ:STS-3.8.2.RELEASE

のEclipseマーケットプレース - >インストール済み: -Maven(のJava EE)のEclipse WTP(ルナ/火星)のための統合1.2.3 - スカラIDE 4.2.x

答えて

0

私は、明らかに機能する解決策を見つけました。あなたがするScalaのプロジェクトを変換する際にその構造が自動的に生成されていないが

my-app 
|-- pom.xml 
`-- src 
    |-- main 
    | `-- java 
    |  `-- com 
    |   `-- mycompany 
    |    `-- app 
    |     `-- App.java 
    `-- test 
     `-- java 
      `-- com 
       `-- mycompany 
        `-- app 
         `-- AppTest.java 

:あなたはMavenプロジェクトを作成すると(しかし、なぜ100%を説明することはできません)

プロジェクトの構造のようなものですMavenの(設定を行うことで - > Mavenのプロジェクトに変換)

だから何私がしたことは、SRC内の2つのフォルダを追加することによって、自分でフォルダ構造を作成することでした - >メイン - > javaの(ネスト)

次にI HelloWorld.scalaをそのjに移動しました。 avaフォルダ。最後に

右Scalaのオブジェクトをクリックしてください - > [ファイル名を指定して実行として - >実行構成 - > Scalaのアプリケーションをダブルクリックします:

Project: ScalaMavenTest 

Main Class: ScalaMavenTest.HelloWorld 
関連する問題