83 подписчика
🖥 Как скомпилировать исходники Java вручную
Наш проект будет состоять всего из двух классов, причём один будет вызывать метод другого.
🟡Класс Greeter содержит метод sayHello(). Этот метод выводит приветствие на экран:
package ru.devmark.helper;
public class Greeter {
public void sayHello() {
System.out.println("Привет, мир!");
}
}
🟡Сохраним этот исходный код в текстовый файл, имя которого обязательно должно совпадать с именем класса, т.е. Greeter.java.
package ru.devmark;
import ru.devmark.helper.Greeter;
public class HelloWorld {
public static void main(String[] args) {
var greeter = new Greeter();
greeter.sayHello();
}
}
Сохраним исходный код этого класса в файле HelloWorld.java.
🟡Поскольку здесь есть статический метод main(), этот класс можно использовать как точку входа для нашего приложения (так называемый «Main-Class»). Внутри мы создаём экземпляр класса Greeter, вызываем его единственный метод и выводим результат на экран.
🟡Теперь мы готовы к тому, чтобы скомпилировать написанный нами код. Для этого используется утилита javac, которая поставляется вместе с jdk. Выполним эту команду в той папке, где лежат оба наших файла:
javac -d . *.java
Опция -d указывает, куда сложить скомпилированные файлы. В результате в нашей папке помимо исходников появится иерархическая структура папок и файлов:
├── Greeter.java
├── HelloWorld.java
└── ru
└── devmark
├── HelloWorld.class
└── helper
└── Greeter.class
🟡Но когда мы говорим о приложении, то ожидаем увидеть один файл, а не кучу папок. Давайте упакуем наши class-файлы в jar-архив. В этом нам поможет одноимённая утилита.
jar cfe hello.jar ru.devmark.HelloWorld ru
Опция c говорит, что нужно создать новый архив, f задаёт имя будущего архива, а e указывает полное имя main-класса. В конце указываем папку, в которой лежат все class-файлы.
📎 YouTube
1 минута
17 апреля 2024