Отчёт
This commit is contained in:
BIN
lab1/report/example1.png
Normal file
BIN
lab1/report/example1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.1 KiB |
BIN
lab1/report/example2.png
Normal file
BIN
lab1/report/example2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.0 KiB |
78
lab1/report/report.txt
Normal file
78
lab1/report/report.txt
Normal file
@@ -0,0 +1,78 @@
|
||||
h1. Отчёт по 1 лабораторной работе (Тищенко Артём)
|
||||
|
||||
*Тищенко Артём, гр. 5130201/20102*
|
||||
|
||||
|
||||
h1. Задание
|
||||
|
||||
Реализовать аналог unix команды ls. Команда ls выводит список файлов в указанной директории.
|
||||
|
||||
h1. Ход работы
|
||||
|
||||
Предварительно были установлены OpenJDK версии 22.0.2 и Maven версии 3.9.9. Проверить версии можно с помощью команд:
|
||||
<pre><code class="shell">
|
||||
java --version
|
||||
mvn --version
|
||||
</code></pre>
|
||||
|
||||
# Для создания проекта использовалась следующая команда:
|
||||
<pre><code class="shell">
|
||||
mvn archetype:generate -DgroupId=ru.spbstu.telematics.java -DartifactId=${ProjectName} -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
|
||||
</code></pre>
|
||||
# Далее, согласно комментарию преподавателя, в pom.xml была заменена зависимость junit и добавлены библиотеки commons-io и commons-math
|
||||
<pre>
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
<version>4.12</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>commons-io</groupId>
|
||||
<artifactId>commons-io</artifactId>
|
||||
<version>2.5</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.commons</groupId>
|
||||
<artifactId>commons-math3</artifactId>
|
||||
<version>3.6</version>
|
||||
</dependency>
|
||||
</pre>
|
||||
# В файле java_labs\lab1\src\main\java\ru\spbstu\telematics\java\App.java был написан основной код, содержащий логику команды ls.
|
||||
# Для успешной компиляции проекта и создания jar файла, в pom.xml были добавлены строки с указанием манифеста
|
||||
<pre>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-jar-plugin</artifactId>
|
||||
<version>3.2.0</version>
|
||||
<configuration>
|
||||
<archive>
|
||||
<manifest>
|
||||
<mainClass>ru.spbstu.telematics.java.App</mainClass>
|
||||
</manifest>
|
||||
</archive>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</pre>
|
||||
# Для компиляции и запуска программы использовались следующие команды:
|
||||
<pre><code class="shell">
|
||||
mvn clean package
|
||||
# Можно явно указать директорию (по умолчанию .)
|
||||
java -jar target/lab1-1.0-SNAPSHOT.jar path/to/directory
|
||||
</code></pre>
|
||||
|
||||
h1. Результаты работы программы
|
||||
|
||||
На рисунке ниже представлен результат запуска программы без указания пути. По умолчанию программа выводит все файлы и директории внутри текущей директории.
|
||||
!example1.png!
|
||||
|
||||
На втором рисунке представлен результат запуска программа с указанием пути до файла, а не до директории. В этом случае программа просто выводит относительный путь до файла, симулируя поведение unix команды ls.
|
||||
!example2.png!
|
||||
|
||||
h1. Исходный код
|
||||
|
||||
Ссылка на репозиторий: [[https://git.tishenko.dev/univer-5th-semester/java_labs]]
|
||||
Reference in New Issue
Block a user