Вот конкретный пример того, как работает , так что вы можете сравнить свою ситуацию.
Возьми этот код и положи его куда угодно, в файл с именем MainClass.java
. (Я предположил, что каталог с именем src
будет позже. Обычно, вы, конечно, организуете источник, соответствующий пакету.)
package archiveFolder;
public class MainClass
{
public static void main(String[] args)
{
System.out.println("I'm MainClass");
}
}
Затем выполните каждую из этих команд:
# Compile the source
javac -d . src/MainClass.java
# Build the jar file
jar cf archive.jar archiveFolder
# Remove the unpackaged binary, to prove it's not being used
rm -rf archiveFolder # Or rmdir /s /q archiveFolder on Windows
# Execute the class
java -cp archive.jar achiveFolder.MainClass
Результат:
I'm MainClass
Как вы строите свой JAR-файл? Код в соответствующей упаковке?