Задать вопрос
@AlexandrMa

Как скомпилировать приложение в один файл?

Создаю проект. Через Project Structure подключаю нужные библиотеки. Пишу код, и жму Build Project. Всё без ошибок. Работает.
В результате в папке
C:\Users\alexey\IdeaProjects\app2\out\production\app2\com\company
лежит файл Main.class. Вырезаю его в C:\tests

Но я его не могу запустить из командной строки
C:\tests>java Main.class
Error: Could not find or load main class Main.class
Caused by: java.lang.ClassNotFoundException: Main.class


1. Правильно ли я понимаю, что в момент создания у меня на выходе должен получиться один файл, полноценный и самостоятельный, который я могу запускать на любом другом компе?
2. Почему не запускается мой Main.class?
  • Вопрос задан
  • 180 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Java
Седой и строгий
Правильно ли я понимаю, что в момент создания у меня на выходе должен получиться один файл

Нет, файлов будет столько же, сколько классов.

полноценный и самостоятельный

А кроме классов приложения, нужны будут ещё и классы зависимостей.

У меня вверху проекта написано
package com.company;

Я хочу запустить с диска C://Main.class

Почему не запускается мой Main.class?

Во-первых, java принимает не имя файла, а имя класса. Во-вторых, структура каталогов в classpath должна повторять структуру пакетов. То есть Main.class должен лежать C:\com\company, а команда на запуск должна выглядеть так java -cp . com.company.Main

Чтобы получить один файл, который можно запускать из разных мест, нужно собрать jar.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
AgentSmith
@AgentSmith
Это мой правильный ответ на твой вопрос
Ваш ответ на вопрос

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

Похожие вопросы