2016-08-13 10 views
0

intellijの内部でインポートされたモジュールを実際に使用する方法がわかりません。intellijでインポートされたモジュールを使用する

私はmaryTTSを利用しようとしています。もっと正確にMaryInterface。 https://github.com/marytts/marytts/wiki/MaryInterface

Readmeは、mavenまたはgradleを使用しています。私はMavenを使用したことはありません。それは私ができないことではありませんが、私の現在のプロジェクトはMavenプロジェクトではありません。単なるJavaプロジェクトです。 gradleと同じです。私はMavenを試してみる。

私はテストと呼ばれる単純な新しいプロジェクトを開始しました。私は/にアクセスする方法を知りませんでしたができなかったモジュールで私を残し

File->New->Module from existing sources. 

は、その後、私は経由でモジュールをインポート。つまり、私のプロジェクトでは基本的に2つの別々のモジュールです。

import javax.sound.sampled.AudioInputStream; 
import marytts.LocalMaryInterface; 
import marytts.MaryInterface; 
import marytts.exceptions.MaryConfigurationException; 
import marytts.exceptions.SynthesisException; 
import marytts.util.data.audio.AudioPlayer; 

public class Voice 
{ 
    private MaryInterface marytts; 
    private AudioPlayer ap; 

    public Voice(String voiceName) 
    { 
     try 
     { 
      marytts = new LocalMaryInterface(); 
      marytts.setVoice(voiceName); 
      ap = new AudioPlayer(); 
     } 
     catch (MaryConfigurationException ex) 
     { 
      ex.printStackTrace(); 
     } 
    } 

    public void say(String input) 
    { 
     try 
     { 
      AudioInputStream audio = marytts.generateAudio(input); 

      ap.setAudio(audio); 
      ap.start(); 
     } 
     catch (SynthesisException ex) 
     { 
      System.err.println("Error saying phrase."); 
     } 
    } 
} 

marytts輸入のすべては私のメインモジュールからの失敗:私はこのテストコードを使用している場合を意味

。明らかに、彼らはmaryttsモジュールでうまくいきます。

また、空のmavenプロジェクトを作成してから、pom.xmlにサンプルコードを追加してみました。私はartifactIdをmaryttsに変更しました。それから、そこにあった〜/ .m2のファイルの依存関係の下でパスエラーが発生しました。

例はこちら。 https://github.com/marytts/marytts

<repositories> 
    <repository> 
    <id>central</id> 
    <url>https://jcenter.bintray.com</url> 
    </repository> 
</repositories> 

<dependencies> 
    <dependency> 
    <groupId>de.dfki.mary</groupId> 
    <artifactId>marytts</artifactId> 
    <version>5.2</version> 
    </dependency> 
</dependencies> 

私はintelljのドキュメントを調べました。モジュールのインポートはかなり簡単です。明らかに、私はプロセスに参加したり、何か間違ったことをしているわけではありません。

私の質問は、メインモジュールからそのインターフェイスを呼び出すための正しい手順は何ですか?私は/使用する必要がありますか?

答えて

0

なぜこれが答えなのか分かりませんが、うまくいくようです。

私はREADMEから正確なverbageを使用しましたが、idを広告する必要がありました。

<repositories> 
    <repository> 
    <id>jcenter</id> 
    <url>https://jcenter.bintray.com</url> 
    </repository> 
</repositories> 

<dependencies> 
    <dependency> 
    <groupId>de.dfki.mary</groupId> 
    <artifactId>voice-cmu-slt-hsmm</artifactId> 
    <version>5.2</version> 
    </dependency> 
</dependencies> 

これは、すべてのインポートステートメントを使用してMaryInterfaceを作成するのと同じように機能していたようです。

私が理解できないのは、このように機能しなかった理由です。私はちょうどmaryttsアーティファクトが必要だと思った。

http://cs.unk.edu/~mcconvilletl/?p=59

関連する問題