#java #linux #intellij_idea #debian #jar
Java, Intellij IDEA
Написал программу.
На вход даются файлы: *.tsv, *.xml
На выходе получить *.txt вариант таблицы
Полтора дня писал программу.
Когда запускаю итоговый вариант в IDE через "Edit configuration...", всё замечательно
компилируется и выдаётся тот самый заветный файл.тхт.
Но крайнее требование в ТЗ, чтобы программа выдавала файл посредством вызова команды
в терминале типа:
java Name.class file.xml file.tsv result.txt
И вот тут я завис окончательно, потому что из директории ./out/../Name.class эта
команда выдаёт
Could not find or load main class Name.class
Потеряв надежду (было много попыток и гугла ~10-15 минут), решил запилить jar файл
и тупо отправить его HRу.
Но чего-то передумал и решил написать сюда.
Git я знаю на уровне
init, commit, status, add
т.е. только на уровне сохранить у себя.
Пытался
git add --all
но он оказывается не хочет добавлять папки (онли файлы)
fatal: CRLF будет заменен на LF в settings.xml.
Напишите пожалуйста:
Откуда (директория) всё-таки нужно запускать java Name.class... и что перед этим
может нужно сделать в IDEA (экспортировать/импортировать/...)?
Каким путём отправить файл HRу (общались по почте)?
PS: ноутбук к нему не понесу
PPS: у меня стоит Debian
Ответы
Ответ 1
Не обязательно собирать jar для запуска программы. По сути jar является лишь архивом, содержащим в себе все скомпилированные файлы (с расширением .class), а также файл манифеста, в котором помимо всего прочего указано, с какого класса начать запуск программы (в каком из классов имеется нужный метод main). Как запустить jar уже описывали выше. А для того, чтобы запустить программу не из пакета, а ту, которая просто скомпилирована в виде файла .class необходима следующая команда: java {ClassName} {arguments} где ClassName - полный путь до класса, включая имя пакета, если он есть. Кроме того, скомпилированный файл, соответствующий указанному классу должен быть расположен в папке, соответствующей пакету: например, если есть файл Test1.class (с классом Test1 без пакета) - строка запуска будет java Test1 из той же папки; если есть файл Test2.class (соответственно с классом Test2 и указанием пакета org.sample) - запуск будет осуществляться командой java org.sample.Test2, а файл Test2.class должен лежать в папке org/sample относительно места, откуда производится запуск. Надеюсь, это будет полезно.Ответ 2
Собираем артефакт! Затем прописываем java -jar Name.jar file.xml file.tsv res.txt Огромное спасибо, Lex.Ответ 3
Если плохо знаеш Git, то можна закинуть проект на GitHub через Intellij IDEA. Вот тут подробно расписано: https://www.javacodegeeks.com/2014/04/how-to-add-an-intellij-project-to-github.html
Комментариев нет:
Отправить комментарий