Wie setzen Sie die classpath-für mvn exec:exec?

Ich bin versucht zu haben mvn exec:exec (oder mvn exec:java) aus meinem Programm mit einem lokalen jar in den classpath. Jedoch ist die jar nicht geladen werden:

Exception in thread "main" java.lang.Error: Unable to load voice directory. java.lang.ClassNotFoundException: com.sun.speech.freetts.en.us.cmu_us_slt_arctic.ArcticVoiceDirectory
at com.sun.speech.freetts.VoiceManager.getVoiceDirectories(VoiceManager.java:211)
at com.sun.speech.freetts.VoiceManager.getVoices(VoiceManager.java:111)
at com.sun.speech.freetts.VoiceManager.getVoice(VoiceManager.java:521)
at xpress.audio.TTS.<init>(TTS.java:66)
at xpress.audio.TTS.<init>(TTS.java:62)
at xpress.audio.AudioProducer.main(AudioProducer.java:18)

Läuft das Programm direkt aus dem CLI mit java funktioniert:

    C:\XpressAudio\target\classes>java -cp "C:\XpressAudio\target\XpressAudio-1.0-SN
APSHOT-jar-with-dependencies.jar;C:\XpressAudio\cmu_us_slt_arctic.jar;C:\XpressA
udio\en_us.jar;C:\XpressAudio\*" xpress.audio.AudioProducer

Hier ist die <build> Teil meiner pom.xml:

 <build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <version>1.2.1</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>exec</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <executable>java</executable>
                    <mainClass>xpress.audio.AudioProducer</mainClass>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>cmu_us</groupId>
                        <artifactId>slt_arctic</artifactId>
                        <version>1.0</version>
                        <scope>system</scope>
                        <systemPath>${basedir}/cmu_us_slt_arctic.jar</systemPath>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>

Könnte mir jemand sagen, wie sollte ich die Bearbeiten die pom.xml so dass mvn exec:exec funktioniert wie die java Befehl oben?

com.sun.speech.freetts.en.us.cmu_us_slt_arctic.ArcticVoiceDirectory ist eine Klasse cmu_us_slt_arctic.jar

mögliche Duplikate von exec-Maven-plugin - wie "system" classpath?
Sie sollten wahrscheinlich verwenden Sie das java mojo, anstatt der exec-mojo, und sehen Sie Möglichkeiten aufgeführt, die es gibt: mojo.codehaus.org/exec-maven-plugin/java-mojo.html. Vor allem executableDependency, includePluginDependencies und includeProjectDependencies denke ich.

InformationsquelleAutor simpatico | 2013-09-28

Schreibe einen Kommentar