-
Notifications
You must be signed in to change notification settings - Fork 34
Романов Алексей 3530901/70201 lab1 (a and b) #66
Conversation
Update README.md Update labs
Лабораторная работа 1СборкаСборка осуществляется с помощью Maven и JDK 1.8. Команда сборки:
После сборки в каждом сабмодуле будет сгенерирована папка таргет, внутри которой будет jat-файл. ЗапускЗапустить сервер можно из основного модуля выполнив команду:
Исполняемых всего 4 модуля:
*Модули с приставкой nio - модули на неблокирующих сокетах. Запуск каждого модуля: server
client
nio-server
nio-client
Описание опций:
ПротоколИмеется один общий тип пакета, он отправляется от клиента к серверу и от сервера клиенту.
РеализацияРеализация обоих пунктов похожа, за исключением самих сокетов. Обычные сокеты были взяты из пакета СЕРВЕР При запуске сервера считываются аргументы командной строки. На сервере логируется информация о подключении, также логиуруются сообщения пользователей и их имена просто для красоты, в реальном серверере такого не должно быть. КЛИЕНТ При запуске клиента также считываются аргументы командной строки, у пользователя запрашивается имя. Имя отправляется вместе с каждым сообщением, так как имена пользователей не хранятся на сервере. Выйти из программы можно с помощью команды "quit". Если запустить клиент, а сервер в этот момент не будет работать, выведется соответсвтующее сообщение и программа завершит работу. |
UPD:
|
Не очень понял где.
Пакет для неблокирующих сокетов -
Да, я знаю, но просто хотел, чтобы Вам даже собирать не пришлось проект и все было сразу доступно.
Я сейчас немного подредактировал опции, на данный момент все работает.
Это дело поправил:))) Добавил инструкцию по сборке, удалил jar-ники |
Split the project into submodules Fix bags
В большинстве своем отношусь с недоверием к пресобранным бинарям в репе. Ибо неизвестно с чем они были собраны, как и где Ошибка сборки: ➜ ./mvnw package
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] 2020H2 [pom]
[INFO] protocol [jar]
[INFO] server [jar]
[INFO] client [jar]
[INFO] nio-server [jar]
[INFO] nio-client [jar]
[INFO]
[INFO] ---------------------------< 2020H2:2020H2 >----------------------------
[INFO] Building 2020H2 1.0-SNAPSHOT [1/6]
[INFO] --------------------------------[ pom ]---------------------------------
[INFO]
[INFO] --------------------------< 2020H2:protocol >---------------------------
[INFO] Building protocol 1.0-SNAPSHOT [2/6]
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ protocol ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /tmp/2020H2/protocol/src/main/resources
[INFO]
[INFO] --- maven-compiler-plugin:3.8.1:compile (default-compile) @ protocol ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 3 source files to /tmp/2020H2/protocol/target/classes
javacTask: source release 8 requires target release 1.8
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] An unknown compilation problem occurred
[INFO] 1 error
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for 2020H2 1.0-SNAPSHOT:
[INFO]
[INFO] 2020H2 ............................................. SUCCESS [ 0.006 s]
[INFO] protocol ........................................... FAILURE [ 1.061 s]
[INFO] server ............................................. SKIPPED
[INFO] client ............................................. SKIPPED
[INFO] nio-server ......................................... SKIPPED
[INFO] nio-client ......................................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.232 s
[INFO] Finished at: 2021-01-08T16:50:32+03:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project protocol: Compilation failure
[ERROR] An unknown compilation problem occurred
[ERROR]
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn <args> -rf :protocol Java: ➜ java -version
openjdk version "1.8.0_265"
OpenJDK Runtime Environment (build 1.8.0_265-b01)
OpenJDK 64-Bit Server VM (build 25.265-b01, mixed mode) Maven: ➜ mvn -version
Apache Maven 3.6.3 (NON-CANONICAL_2019-11-27T20:26:29Z_root)
Maven home: /opt/maven
Java version: 1.8.0_265, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-8-openjdk/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "5.9.14-arch1-1", arch: "amd64", family: "unix" |
Сейчас ошибки быть не должно |
Да. Сборка прошла, однкао оба клиента не работают. Вываливается одинаковое исключение: Exception in thread "main" java.lang.NoClassDefFoundError: com/github/lexcorp3439/net/lab1/protocol/Utils
at com.github.lexcorp3439.net.lab1.b.client.NIOClient.createClient(NIOClient.java:109)
at com.github.lexcorp3439.net.lab1.b.client.NIOClient.main(NIOClient.java:99)
Caused by: java.lang.ClassNotFoundException: com.github.lexcorp3439.net.lab1.protocol.Utils
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
... 2 more |
Ошибку устранил. |
Не работает переподключение к серверу. Даже с другим ником. Из другого терминала. |
Исправил) |
Принято |
No description provided.