Skip to content

Commit 40bc075

Browse files
authored
Initial commit
0 parents  commit 40bc075

File tree

7 files changed

+209
-0
lines changed

7 files changed

+209
-0
lines changed

.gitignore

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
.idea/
2+
3+
target/
4+
!.mvn/wrapper/maven-wrapper.jar
5+
!**/src/main/**/target/
6+
!**/src/test/**/target/
7+
8+
### IntelliJ IDEA ###
9+
.idea/modules.xml
10+
.idea/jarRepositories.xml
11+
.idea/compiler.xml
12+
.idea/libraries/
13+
*.iws
14+
*.iml
15+
*.ipr
16+
17+
### Eclipse ###
18+
.apt_generated
19+
.classpath
20+
.factorypath
21+
.project
22+
.settings
23+
.springBeans
24+
.sts4-cache
25+
26+
### NetBeans ###
27+
/nbproject/private/
28+
/nbbuild/
29+
/dist/
30+
/nbdist/
31+
/.nb-gradle/
32+
build/
33+
!**/src/main/**/build/
34+
!**/src/test/**/build/
35+
36+
### VS Code ###
37+
.vscode/
38+
39+
### Mac OS ###
40+
.DS_Store

README.md

+111
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
2+
# Заготовка репозитория для лабораторных по курсу "ООП на Java" ФИТ НГУ
3+
4+
## Краткая справка, как работать с Git и GitHub
5+
6+
Некоторые шаги ниже вы, возможно, уже делали раньше.
7+
8+
1. Заводим аккаунт на GitHub.
9+
2. Устанавливаем Git на вашем компьютере (для Windows качаем [отсюда](https://git-scm.com/download/win)).
10+
3. Если у вас Windows, открываем папку, где хотим хранить задачи и выбираем в контекстном меню `Open Git Bash here`.
11+
4. Создаем SSH-ключ и привязываем его к аккаунту на GitHub, следуя инструкциям [отсюда](https://github.com/settings/keys).
12+
5. Нажимаем `Use this template -> Create a new repository` на этой странице, открывается окно создания нового репозитория на основе данного. Вводим имя, **выбираем Private**, жмем `Create repository`.
13+
6. На странице вашего репозитория идём в `Settings -> Collaborators -> Add people`, вводим мой аккаунт (`dsavenko`), нажимаем `Add ...`.
14+
6. В окне Git Bash выполняем команду `git clone <git-ссылка>`. Git-ссылку можно получить на странице вашего репозитория (нажав кнопку `Code`), она имеет вид `[email protected]:dsavenko/nsu-oop-java-template.git`.
15+
7. В папке с названием вашего репозитория теперь лежит его локальная копия, с которой вы можете работать.
16+
17+
Как работать с локальной копией:
18+
1. Создаёте, удаляете, меняете файлы и папки, как вам нужно.
19+
2. Чтобы залить изменения на GitHub, открываете `Git Bash` в папке вашего репозитория и выполняете следующие команды:
20+
```
21+
$ git add .
22+
$ git commit -m "Краткое описание изменений"
23+
$ git push
24+
```
25+
3. Проверяем, что всё залито успешно, командой `git status`:
26+
```
27+
$ git status
28+
On branch master
29+
Your branch is up to date with 'origin/master'.
30+
31+
nothing to commit, working tree clean
32+
```
33+
Если вывела такое, то всё ОК.
34+
4. Коммитить и пушить рекомендуется **часто**, как минимум один раз за каждый день, когда вы работали.
35+
36+
**Рекомендуется самостоятельно изучить работу с Git более подробно.** Набираете в поисковике "основы Git и GitHub (под Windows)" и выбираете любую понравившуюся статью или ролик на YouTube. Для более основательного изучения рекомендую [Git Book](https://git-scm.com/book/ru/v2). Git является стандартом индустрии, и эти знания вам точно пригодятся.
37+
38+
## Что нужно установить
39+
40+
Установите (убедитесь, что установлено):
41+
42+
1. [Java](https://docs.oracle.com/en/java/javase/20/install/installation-jdk-microsoft-windows-platforms.html) версии не ниже 11. Нам нужно именно JDK (есть еще JRE, его будет недостаточно). Проверьте, что команда `java -version` запускается с командной строки (cmd).
43+
2. [Intellij IDEA community edition](https://www.jetbrains.com/ru-ru/idea/download/#section=windows) (бесплатная). Если у вас есть лицензия - еще лучше, но бесплатной версии достаточно.
44+
3. [Мавен](https://maven.apache.org/). Проверьте, что команда `mvn -version` запускается с командной строки (cmd).
45+
46+
По желанию можете поставить вместо Идеи Eclipse ([Eclipse IDE for Java Developers](https://www.eclipse.org/downloads/packages/)).
47+
48+
Мавен - это система сборки (как CMake), являющаяся стандартом индустрии в мире Java. Все ваши проекты должны будут собираться мавеном.
49+
50+
## Как создать новый проект в Intellij IDEA
51+
52+
1. После запуска IDEA нажимаем `New project`
53+
2. Заполняем поля как показано на скриншоте:
54+
55+
![New project](new-project.png)
56+
57+
* `Name` - название проекта, можно `lab1`, например.
58+
* `Location` - выбираем папку, куда вы клонировали репозиторий.
59+
* `Create Git repository` - должно быть **выключено** (у вас уже есть репозиторий).
60+
* `Build system` - убедитесь, что здесь стоит **Maven**.
61+
* Раскройте `Advanced Settings`, и введите:
62+
* `GroupId` - верхнеуровневое имя вашего пакета. Существует общепринятое [соглашение об именовании пакетов](https://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html). Если не знаете, что писать, можете ввести `ru.nsu.<ваша фамилия маленькими буквами>`.
63+
* `ArtifactId` - то же, что и Name.
64+
65+
3. Нажимаете `Create`, должны получить структуру папок и файлов, аналогичную тому, что лежит в папке [testlab](testlab).
66+
67+
![Main](main.png)
68+
69+
4. Дожидаемся сборки проекта (пока справа внизу не исчезнет прогресс бар).
70+
71+
5. Открываем класс `Main`, нажимаем зеленую стрелочку для запуска. Убеждаемся, что программа выводит `Hello and welcome!...`.
72+
73+
> [!NOTE]
74+
> В разные моменты времени IDEA может предлагать добавлять файлы в Git (на скриншоте выше - окошко справа внизу). Рекомендую всегда отказываться и работать с Git вручную, с командной строки. Это наиболее надежный способ, который позволит избежать многих ошибок и лучше освоить Git.
75+
76+
6. Добавляем вновь созданный проект в Git, делаем первый коммит и пуш. Для этого в командной строке из папки проекта:
77+
```
78+
$ git add .
79+
$ git commit -m "Первый коммит"
80+
$ git push
81+
```
82+
83+
## Сборка и запуск с командной строки
84+
85+
Важно, чтобы ваш проект собирался и запускался с командной строки. Для этого делаем следующее:
86+
87+
1. Открываем командную строку (`cmd` в Windows) в папке проекта (например, [testlab](testlab)).
88+
89+
2. Набираем `mvn clean package` для полной (пере)сборки, дожидаемся завершения. В конце должно быть что-то подобное:
90+
```
91+
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ testlab ---
92+
[INFO] Building jar: /.../testlab/target/testlab-1.0-SNAPSHOT.jar
93+
[INFO] ------------------------------------------------------------------------
94+
[INFO] BUILD SUCCESS
95+
[INFO] ------------------------------------------------------------------------
96+
[INFO] Total time: 1.425 s
97+
[INFO] Finished at: 2024-01-31T10:20:39+07:00
98+
[INFO] ------------------------------------------------------------------------
99+
```
100+
Это значит, что сборка прошла успешно, и ваша программа собрана в файл `target/testlab-1.0-SNAPSHOT.jar`. Программы на Java не собираются в нативные исполняемые файлы (exe). Вместо этого есть специальные форматы файлов, самый распространенный - это `jar` (сокращение от java archive).
101+
102+
3. Запускаем с командной строки следующим образом:
103+
```
104+
$ java -cp target/testlab-1.0-SNAPSHOT.jar ru.nsu.dsavenko.Main
105+
Hello and welcome!i = 1
106+
i = 2
107+
i = 3
108+
i = 4
109+
i = 5
110+
```
111+
Здесь аргумент `-cp` - так называемый Classpath, вы должны указать jar-файл с вашей программой. После него идет полное имя запускаемого класса, то есть `<имя пакета>.<имя класса>`.

main.png

140 KB
Loading

new-project.png

59.9 KB
Loading

testlab/pom.xml

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5+
<modelVersion>4.0.0</modelVersion>
6+
7+
<groupId>ru.nsu.dsavenko</groupId>
8+
<artifactId>testlab</artifactId>
9+
<version>1.0-SNAPSHOT</version>
10+
11+
<properties>
12+
<maven.compiler.source>11</maven.compiler.source>
13+
<maven.compiler.target>11</maven.compiler.target>
14+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
15+
</properties>
16+
<dependencies>
17+
<dependency>
18+
<groupId>junit</groupId>
19+
<artifactId>junit</artifactId>
20+
<version>RELEASE</version>
21+
<scope>test</scope>
22+
</dependency>
23+
</dependencies>
24+
25+
</project>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package ru.nsu.dsavenko;
2+
3+
//TIP To <b>Run</b> code, press <shortcut actionId="Run"/> or
4+
// click the <icon src="AllIcons.Actions.Execute"/> icon in the gutter.
5+
public class Main {
6+
public static void main(String[] args) {
7+
//TIP Press <shortcut actionId="ShowIntentionActions"/> with your caret at the highlighted text
8+
// to see how IntelliJ IDEA suggests fixing it.
9+
System.out.printf("Hello and welcome!");
10+
11+
for (int i = 1; i <= 5; i++) {
12+
//TIP Press <shortcut actionId="Debug"/> to start debugging your code. We have set one <icon src="AllIcons.Debugger.Db_set_breakpoint"/> breakpoint
13+
// for you, but you can always add more by pressing <shortcut actionId="ToggleLineBreakpoint"/>.
14+
System.out.println("i = " + i);
15+
}
16+
}
17+
18+
public static int sum(int x, int y) {
19+
return x + y;
20+
}
21+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package ru.nsu.dsavenko;
2+
3+
import org.junit.Assert;
4+
import org.junit.Test;
5+
6+
public class MainTest {
7+
8+
@Test
9+
public void testSum() {
10+
Assert.assertEquals(5, Main.sum(3, 2));
11+
}
12+
}

0 commit comments

Comments
 (0)