maly222
@maly222
Бот

Как переименовать java в jar?

Есть test.java файл с классами. Нужно этот файл переименовать в test.jar формат чтобы при двойном клике файл открывался. Я попробовал через IntelegiIde c build artifacts. Но там не сработало. Попробовал через командную строку с
java -jar test.jar. Там выдало ошибку : Error: Could not find or load main class jdk Caused by: java.lang.ClassNotFoundException: jdk. Есть ли еще способы или где я делаю ошибку?
  • Вопрос задан
  • 152 просмотра
Пригласить эксперта
Ответы на вопрос 3
@Akela_wolf
Extreme Programmer
"Как переименовать .txt в .exe чтобы он двойным кликом открывался?"

Это называется не "переименовать", а "скомпилировать". Про вашу IDE не скажу, но вообще в целом это делается так:
  1. Компилируете java-файлы в классы (.class) используя javac (не java, а именно javac - компилятор)
  2. Добавляете к этому набору классов файл манифеста
  3. Опционально добавляете туда зависимости (если нужен fat jar)
  4. Собираете все это в zip-архив
  5. Меняете расширение на jar


В более-менее сложных проектах это все автоматизируется системой сборки, такой как gradle или maven.
Ответ написан
azerphoenix
@azerphoenix Куратор тега Java
Java Software Engineer
Добрый день.
Думаю, что вам необходимо начать с изучения азов.
jar - это java архив.
java - это расширение файла до компиляции
class - это расширение файла после компиляции (где хранится байт-код)

Error: Could not find or load main class jdk Caused by: java.lang.ClassNotFoundException: jdk.

Класс jdk не найден. Выложите исходный код, чтобы можно было понять в чем проблема. Надеюсь, что вы не забыли добавить main метод?
Также вам нужен файл MANIFEST.mf куда нужно прописать Main-Class: jdk
И еще один нюанс, если у вас много зависимостей, то возможно понадобится сделать fat jar (jar with dependencies)
https://stackoverflow.com/questions/16222748/build...
Ответ написан
Комментировать
@dmn_202_01
Скомпилировать.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы