I am using a jar file that is dependent to a GitHub source file, available here: Java Stream Player (Library). The jar file is named musicplayer-1.0.0.jar
. The jar file has the following manifest (MANIFEST.MF
):
Manifest-Version: 1.0
Created-By: Maven Jar Plugin 3.2.0
Build-Jdk-Spec: 17
Class-Path: lib/slf4j-api-1.7.31.jar lib/logback-classic-1.2.3.jar lib/l
ogback-core-1.2.3.jar lib/java-stream-player-10.0.0.jar lib/mp3spi-1.9.
5.4.jar lib/jlayer-1.0.1.4.jar lib/junit-3.8.2.jar lib/jflac-codec-1.5.
2.jar lib/vorbis-support-1.1.0.jar lib/tritonus-all-0.3.7.2.jar lib/jor
bis-0.0.17-2.jar lib/jaudiotagger-2.2.7.jar lib/commons-io-2.6.jar
Implementation-Title: musicplayer
Implementation-Version: 1.0.0
Main-Class: gr.hua.dit.oop2.musicplayer.MusicPlayerApp
The build file is the following in Maven:
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
And the dependency is defined with:
<dependency>
<groupId>com.github.goxr3plus</groupId>
<artifactId>java-stream-player</artifactId>
<version>Tag</version>
</dependency>
How can I compile my code in cmd with simple commands without using Maven (or any other tool)?
The commands I use are:
javac -classpath musicplayer-1.0.0.jar Jukebox.java
java Jukebox Vivaldi-Storm.mp3
musicplayer-1.0.0.jar
is the jar file that uses the GitHub source code,
Jukebox.java
is my java file and Vivaldi-Storm.mp3
is an argument needed by my class.
The second command results in the error exception:
java.lang.ClassNotFoundException: com.goxr3plus.streamplayer.stream.StreamPlayerListener
I can't use a simple import leading to the external source code like:
import com.goxr3plus.streamplayer.stream.*;
When you execute your JukeBox
using the second command, you need to use the -classpath
option, too. However, when executing java
you need to specify musicplayer-1.0.0.jar
and all its dependencies in the classpath value. E.g. you need to download the goxr3plus java-stream-player and add that to your classpath as well. Then you need to do that for all the other dependencies of musicplayer as well.