Поскольку я нашел эти ответы неясными, вот что вам нужно сделать.Во-первых, если вы упаковываете свой код (т.е. ваши классы имеют ключевое слово package
вверху), скомпилированные классы должны находиться в каталоге с тем же именем, что и объявление вашего пакета в коде.После того, как вы скомпилировали свои классы, вам нужно переместить каталог вверх, когда вы выполняете команду java , и вы включаете имя пакета .Например, если ваш код существует в /myFolder/myPackage/
, а ваш класс начинается с package myPackage
(обратите внимание, что каталог и пакет имеют одно и то же имя), то вы должны сделать следующее (linux / osx):
cd /myFolder/myPackage
javac MyClass.java
cd ..
java myPackage.MyClass
Редактировать - позднее редактирование, чтобы прояснить то, что, как я вижу, люди запутывают.В приведенном выше примере пакет является только одним глубоким, то есть просто myPackage.Если в вашем коде пакет большего размера, например
package com.somedomain.someproject;
, вам нужно будет выполнить команду java из каталога, в котором находится корневой каталог для этого пакета.Например, если ваш скомпилированный код находится в myCode / com / somedomain / someproject / MyMainClass.class, то вы выполните команду java из папки myCode, например так (опять же, обратите особое внимание, что структура каталога такая же, как у пакета).декларация):
cd /myCode
java com.somedomain.someproject.MyMainClass