Каталог расширений

Популярные теги

3gp       avi       fb2       jpg       mp3       pdf      

Java как скомпилировать файл


Компиляция java из командной строки(через cmd)

Сегодня я расскажу как устроен базовый проект Java, как компилируется код и как выполнить готовую программу.

Java Source и каталоги классов

Простой Java-проект содержит один каталог, внутри которого хранятся все исходные файлы. Файлы обычно хранятся не внутри исходного каталога, а в подкаталогах, соответствующих их структуре пакета. Пакеты — это просто способ сгруппировать исходные файлы, которые принадлежат друг другу. Исходный каталог часто называют src, но это не является обязательным требованием.

Например, если вы используете инструмент сборки Maven, вы, как правило, будете использовать другую структуру каталогов, где исходный код Java хранится в каталоге src/main/java(в корневом каталоге вашего проекта).

Когда вы компилируете весь исходный код в Java, компилятор создает один файл .class для каждого файла .java. .Class содержит скомпилированную версию файла .java. Байт-код для файла .java, другими словами.

Это файлы .class, которые может выполнять виртуальная машина. Не файлы .java. Поэтому нормально отделять файлы .java от файлов .class. Обычно это делается путем указания компилятору записать файлы .class в отдельный каталог.

Этот каталог часто называют классами, но, опять же, он не является обязательным, и он зависит от того, какой инструмент сборки используете, IDE и т. д.

Компиляция исходного кода Java

Вы можете скомпилировать исходный код Java непосредственно из вашей IDE(если вы используете IDE). Или вы можете использовать компилятор, который поставляется вместе с Java SDK. Чтобы выполнить компиляцию java кода из командной строки, сделайте следующее:

  • Откройте командную строку (cmd)
  • Перейдите в корневой каталог вашего проекта(не в исходный каталог)
  • Убедитесь, что корневой каталог проекта содержит исходный каталог и каталог классов
  • Введите команду ниже(в Windows — другие ОС будут выглядеть аналогично):
"c:\Program Files\Java\jdk1.8.0_25\bin\javac" src/myfirstapp/*.java -d classes
 

Эта команда выполняет javac(компилятор), которая скомпилирует код в каталоге src / myfirstapp. * . А даже точнее все файлы в данном каталоге.

Каталог myfirstapp — это пакет в корневом каталоге исходного кода src. Если у вас есть несколько пакетов в корневом каталоге, вам придется запускать компилятор несколько раз. Java IDE обрабатывает это автоматически. Так же как и инструменты для сборки, такие как Ant, Maven или Gradle.

Выполнение скомпилированного кода

После того, как компилятор выполнит свою работу, каталог classes будет содержать скомпилированные файлы .class. Структура пакета(структура каталогов) из исходного каталога будет сохранена в каталоге классов.

Вы можете запустить любой из этих файлов .class, в котором есть метод main(). Вы можете запустить .class изнутри вашей Java IDE или из командной строки. Запуск из командной строки это выглядит так:

 "c:\Program Files\Java\jdk1.8.0_25\bin\java" -cp classes myfirstapp.MyJavaApp
 

Флаг -cp сообщает виртуальной машине, что все ваши классы находятся в каталоге, называемом классы. Это также называется «путь к классу»(отсюда сокращение cp).

Имя класса для запуска является последним аргументом в приведенной выше команде — часть myfirstapp.MyJavaApp. JVM должна знать полное имя класса(все пакеты плюс имя класса), чтобы определить, где находится соответствующий файл .class.

Когда вы запустите класс, ваша командная строка будет выглядеть примерно так(включая вывод из приложения):

D:\data\projects\my-first-java-app>"c:\Program Files\Java\jdk1.8.0_25\bin\java"
 -cp classes myfirstapp.MyJavaApp
 Hello World!
 
 D:\data\projects\my-first-java-app>
 

Обратите внимание, что в первой команде не должно быть разрыва строки. Я добавил это только для того, чтобы было легче читать.

Как делается в IntelliJ IDEA компиляция в jar и exe: исполнительные файлы и настройка

От автора: если бы не было таких мощных и качественных инструментов, как IntelliJ IDEA, компиляция занимала бы слишком много времени у разработчика — ведь это нужно собрать все файлы в единую программу, а после корректно запустить ее. К счастью, благодаря высокоразвитым IDE вся сложность заключается в настройке компилятора, а не каждого отдельного файла, поэтому в процессе работы с IntelliJ IDEA компиляция делается очень просто. Сегодня мы расскажем, как конфигурировать эту IDE для успешной сборки.

Знакомство с компилятором

Компиляция — это своеобразный процесс сборки, который заключается в трансляции всех модулей, которыми оснащена программа. В зависимости от ситуации, исходный код может быть написан на одном языке или на нескольких. Суть в том, чтобы преобразовать человекопонятный код в машинопонятный.

До того, как появились компиляторы, все, с чем вы сталкиваетесь сегодня, делалось вручную. Но по мере развития продуктов данный софт стал необходим. Это программы, которые могут переводить код, написанный на высокоуровневом языке программирования, в низкоуровневый код, то есть в нули и единицы. Таким образом, процессор может понять то, что сказал человек.

Компиляторы бывают нескольких видов. Точно так же и процесс компиляции бывает разным. Все зависит от того, какой язык используется (компилируемый/интерпретируемый) и какое применяется программное обеспечение для взаимодействия. Кстати, раньше этот вид ПО называли «программирующими программами». Этимологическая логика здесь проста: это был инструмент, который заставлял компьютер выполнять код — то есть, программировал его.

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

Узнать подробнее

Исполнительные файлы

Вы привыкли к тому, что готовая программа должна запуститься на вашем компьютере. И потому хотите, чтобы это происходило на каждом удобном вам ПК. И они так могут. Главное, чтобы на ПК или любом другом устройстве была установлена исполнительная среда Java. Она встречается не только на компьютерах, но и на всех остальных системах, вроде бытовой техники.

Как правило, новички сразу ищут в IntelliJ IDEA возможность провести эту процедуру и превратить написанный ими код в .exe файл. Вынуждены вас огорчить, но это невозможно. Суть в том, что это противоречит самой концепции языка, не говоря уже о физической возможности. «Написано единожды — работает везде».

Тем не менее, неужели невозможно делать программы для Windows на языке Java? Конечно, можно, и готовые файлы будут иметь расширение .exe. Вот только дело тут не в компиляции. Программист должен сделать обертку для программы, чтобы она запустила Java Runtime Machine и Java-код вне глаз пользователя. И это действительно работающее решение.

Настройка проще, чем кажется

Вы можете изменить список распознанных ресурсов, исключить определенные пути из компиляции, выбрать нужный компилятор, настроить обработку аннотаций и т. д.

В диалоговом окне «Settings/Preferences» выберите Build, Execution, Deployment.

На странице компилятора вы можете, например, изменить регулярное выражение, описывающее расширения файлов, которые будут распознаваться как ресурсы. Используйте точки с запятой (;) для разделения отдельных шаблонов.

На странице «Исключения» укажите файлы и папки, которые не следует включать в компиляцию. Используйте «+» для добавления элементов в список.

Замечания:

На странице Java Compiler проверьте, является ли используемый компилятор тем, который вам нужен. При необходимости выберите другой компилятор.

На странице Annotation Processors настройте параметры обработки аннотаций.

Примените изменения и закройте диалог.

На этом заканчиваем рассказ о компиляции. Вам нужно запомнить два основных тезиса: компилятор IDEA нуждается в настройке, компиляции jar в exe не существует. Это совершенно другой, абсурдный процесс. И это не просто балластное знание. Оно убережет вас от скачивания утилит, которые обещают подобное чудо.

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

Узнать подробнее

Разработка веб-приложения на PHP

Создайте веб-приложение на PHP на примере приема платежей на сайте

Смотреть

запуск Java приложений как exe файлы / Хабр

Сегодня я расскажу, как запускать java приложения в виде exe файлов.
Как известно java приложения поставляются в виде jar файлов, которые не являются исполняемыми файлами, а представляют собой специальные файлы с набором инструкций для виртуальной Java машины.
Но не об этом речь. В первую очерь зачем это нужно. Я столкнулся с этой необходимостью, когда использовал любимый редактор jEdit. Захотелось связать php файлы c данным редактором, однако связать с jar файлом не представляется возможным. Также необходимость возникает, когда нужно привязать какую-либо программу с контекстным меню или, например, вызывать редактор как стандартный редактор в браузере.

Решение:

  1. Качаем программу Janel
  2. Распаковываем JanelWindows.exe, JanelWindows.lap, msvcr71.dll в C:\Program Files\Janel\
  3. Переименовываем
    JanelWindows.exe в ИМЯ_ВАШЕГО_ПРИЛОЖЕНИЯ.exe,
    JanelWindows.lap в ИМЯ_ВАШЕГО_ПРИЛОЖЕНИЯ.lap
  4. Редактируем lap файл:
    • в -Djava.class.path прописываем путь к jar файлу
    • в janel.main.class название основного класса
    • в janel.main.argument агрумент вызова

    На примере jEdit:
    -Djava.class.path=C:\Program Files (x86)\jEdit\jedit.jar
    janel.main.class=org.gjt.sp.jedit.jEdit
    janel.main.argument=-reuseview

  5. готово, в качестве exe файла используем ИМЯ_ВАШЕГО_ПРИЛОЖЕНИЯ.exe

Если необходимо привязать несколько exe приложений, просто скопируйте JanelWindows.exe и JanelWindows.lap, и настройте отдельно.

Как скомпилировать файл .java на Ubuntu?

Вам необходимо установить JDK, Java Development Kit. Ubuntu содержит metapackage default-jdk, который зависит от выбранного в настоящее время JDK. Теперь это openjdk-6-jdk.

Чтобы скомпилировать файл Java в исполняемый файл .class, вы можете запустить

javac filename.java 

и запустить его

java file 

Это самый простой случай использования, и в основном он не работает, потому что классы java в основном зависят от других классов Java, размещенных в библиотеках.

Таким образом, вы, вероятно, хотели бы использовать более сложные решения. Большинство текстовых редакторов поддерживают подсветку синтаксиса Java, например default-jdk , kate или vim, но они не решают проблему с компиляцией.

У вас есть другой вариант - вы можете установить полнофункциональная Java IDE. Ubuntu поставляется с главными Java IDE OpenSource - kate и Eclipse.

ответ дан Seth 25 May 2018 в 10:40

поделиться

как скомпилировать несколько файлов java, когда в... [3 ответа]

Документация Javac предоставляет всю необходимую информацию. Однако может оказаться полезным использовать Ant или Maven для построения командной строки.

Эта страница предоставляет хороший пример использования сначала javac, а затем Ant для построения простого проекта.


Вот пример проекта и как его можно скомпилировать с помощью javac.

Древовидная структура проекта такова:

 . ├── build └── src ├── attacks ├── drivers │   └── Driver.java └── exceptions └── MyException.java 

Есть два специальных каталога- build для хранения скомпилированных классов и src для хранения исходных файлов (могут находиться в разных подкаталогах-пакетах).

Следующая команда компилирует весь проект и помещает результат в каталог build .

javac -sourcepath src -d build src/**/*.java 

-sourcepath src указывает каталог src как место, где компилятор может найти весь исходный код. Параметр -d build указывает компилятору, куда поместить скомпилированные файлы.

Параметр src/**/*.java указывает компилятору, какие файлы следует компилировать на самом деле. В этом конкретном случае он говорит javac посмотреть на два уровня вниз и выбрать все *.java на этом уровне.

Если существует *.java файлов на разных уровнях, то необходимо указать список файлов. Для этого можно было бы создать такой листинг как внешний файл и передать эти файлы как в опции ввода для javac .

Вот как это можно было бы сделать при Linux/Unix:

find -name "*.java" > source.txt 

Приведенная выше команда создает файл source.txt, содержащий полные пути для найденного *.java файлов. Для этого примера он содержит:

./src/drivers/Driver.java ./src/exceptions/MyException.java 

Для компиляции проекта со списком исходных файлов, сброшенных в source.txt , можно использовать следующую команду:

javac -d build @source.txt 

Обратите внимание, что @source.txt указан в конце, который указывает компилятору, где искать список исходных файлов. Обратите также внимание, что параметр -sourcepath может быть опущен.

Вот как изменилась структура каталогов после выполнения вышеуказанной команды.

. ├── build │   ├── drivers │   │   └── Driver.class │   └── exceptions │   └── MyException.class └── src ├── attacks ├── drivers │   └── Driver.java └── exceptions └── MyException.java 

Как можно заметить, каталог build теперь содержит скомпилированные файлы классов в соответствующих пакетах.

И, если вы хотите запустить его, предположив, например, что Driver имеет метод main, следующая команда выполняет программу.

java -cp .:build:**/*.class drivers.Driver 

Обратите внимание, что разделитель файлов : (двоеточие) используется под Unix, для Windows измените его на ; (точка с запятой).

Компиляция

- как скомпилировать файл .java в Java?

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
.

Как скомпилировать файл .java с импортом из .jar с помощью javac?

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
.

Как скомпилировать пакеты на java?

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
.Сборка

- Как скомпилировать несколько исходных файлов Java в командной строке

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи sh
.

javac - Компиляция файлов java во всех подпапках?

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
  5. Рекламная
.

Как включить файлы jar в файл java и скомпилировать в командной строке

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где развиваются
.

Смотрите также