2016-08-13 2 views
0

У меня возникли проблемы с тем, как использовать импортированный модуль внутри intellij.Использование импортированного модуля в intellij

Я пытаюсь использовать maryTTS. Более точно MaryInterface. https://github.com/marytts/marytts/wiki/MaryInterface

Readme говорит, что использует maven или gradle. Я никогда не использовал maven, но это не значит, что я не могу, но мой текущий проект не является проектом maven. Просто простой Java-проект. То же самое с градиентом. Я попробую maven.

Я начал просто простой проект под названием test.

Затем я импортировал модуль через:

File->New->Module from existing sources. 

который оставил меня с модулем, который я не мог/не знал, как получить доступ. Итак, в основном два отдельных модуля в моем проекте.

То есть, если я использую этот тестовый код:

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 в. Импорт модуля кажется довольно простым. Очевидно, я не принимаю участие в этом процессе или что-то не так.

Итак, мой вопрос - это то, что является правильными шагами, чтобы иметь возможность вызвать этот интерфейс из моего основного модуля? Должен ли я использовать/учиться maven?

ответ

0

Я не уверен, почему это ответ, но, похоже, он работает.

Я использовал точный глагол из README, но должен был указать 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.

Я не понимаю, почему это не сработало бы так. Я просто предположил, что мне нужен артефакт мариттов.

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

Смежные вопросы