Задать вопрос
Ответы пользователя по тегу Java
  • Как запустить Processing (Java) код при уже запущенной программе?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Есть несколько способов это сделать.

    Использовать встроенную в Java машину Nashorn которая по идее реализует JavaScript. Там такое можно сделать.

    Подключиться дебаггером к приложению запущенному в debug mode. Там по идее тоже можно выполнять какие-то команды на вычисление выражений и видеть результат.

    Но сама идея влезать в работающее приложение - не очень хорошая идея. С точки зрения безопасности и надежности. Возможно те вещи что ты хочешь могут быть закрыты через Logging или JMX или заранее протестировать все кейсы JUnit тестами в оффлайне. Сам факт того что ты хочешь чего-то в runtime говорит
    о нехватке тестового покрытия.

    Еще посмотри на jschell. Может пригодится.
    Ответ написан
  • Решить проблему This class should provide a default constructor (a public constructor with no arguments)?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Добавь такой конструктор.

    public AlarmService() {
            super();
     }
    Ответ написан
    Комментировать
  • Какой пет проект можно реализовать на Java?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Я делал себе такие проекты типа - индексирование текстовых фалов в /My Documents. Или раскладывание фоток по датам фотоснимков на основе exif тегов.

    Выбор пет проекта несет в себе тяжкое бремя само-постановки и само-организации. Зная что твой проект никто не проверит и качество его реализации никого не интересует я-бы предложил ничего не делать если оно тебе не надо практически. А если есть практическая задача - то делай ее для себя и сам принимай ее.

    Почему я давлю на результат и на приёмку? Потому что 99% таких проектов успешно начинаются и потом забрасываются потому что человек выгорает еще на старте. Чтоб не выгорать - нужно ТЗ. Нужел девелопмент план. И нужен хоть какой-то человек который взглянет на результат.

    Если этого нет - пет-проект уйдет на свалку истории. Как впрочем и большая часть контента github. Это унылые копи-пасты, туториалы и незаконченные произведения.
    Ответ написан
    1 комментарий
  • Как из Flux собрать массив JSON?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    При чем здесь Flux и Mono к JSON? Это разные уровни смыслов. А если-бы ты c XML работал? Ты явно указываешь getObjectsAsFlux зачит и будел флюкс. А если тебя смущает массив внутри респонса то оберни его объектом и будет тебе всегда объект.
    Ответ написан
  • Как в респонсе на ходу создавать объект?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Тут описана проблема которая принципиально в Rest-сервисах не решена до сих пор.

    Ее коробочное решение было реализовано в GraphQL. Но GraphQL - это не Rest. Это более
    сложный и более умный протокол и он позволяет выбирать из entity ровно те поля
    которые нужны для responce.

    А в твоем случае надо просто в контроллере создать еще один метод. Типа getUserByIdShort
    Ответ написан
    Комментировать
  • Какие виды и специализации Java программистов бывают?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Самая правильная специализация выставляется работодателем. Вот туда и надо смотреть.
    Откройте местную газету вакансий для Java. И через 2-3 часа чтения у вас будет самая
    правильная классификация или номенклатура или бох еще какая категоризация
    джавистов.

    А что вы здесь еще хотели узнать? Про формы черепов? Или про партийную принадлежность джавистов?
    Ответ написан
  • Какую книгу взять новичку в разработке микросервисов на Spring Framework?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Я не понимаю зачем такое ограничение в названии топика?
    Микросервисы и Spring - это как езда на лошади только галопом.
    Или рыбалка только для пресноводных рыб.
    Ответ написан
    Комментировать
  • Какую книгу по Java выбрать новичку с небольшим опытом на другом языке?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Алгоритмы брать не надо. Седжвик вообще писал не про Java а только про алгоритмы.
    У него - целое семейство книг такого вида. Сначала Алгоритмы на С. Потом на C++ И потом Java. Он по сути портировал исходники. Какой толк вам в таком портировании?

    А Хорстман, Эккель - вполне себе норм.
    Ответ написан
    Комментировать
  • Какова синтаксическая ошибка MySQL?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Наверное не value а values
    INSERT INTO books (title, author, price, quantity) values
    Ответ написан
  • Критика кода возможна?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Тут вместо цепочки if можно switch-case использовать.

    @Override
        public void notification(Event event) {
            if (event.type() == EventType.REDRAW_REQUEST) {
                printField(event.field());
                return;
            }
    
            if (event.type() == EventType.BOMB_OPENED) {
                System.out.println("You opened bomb. Game failed");
                printField(event.field());
            }

    И в других местах - похожие косяки.
    Ответ написан
    Комментировать
  • Можно ли в одном проекте создать несколько выполняемых или jar файлов?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Значит смотри. Что такое несколько выполняемых файлов. Это просто несколько jar-файлов в которых просто есть нужный манифест. Я достигал это с помощью профилей и с помощью Makefile который уже автоматизировал сборку проекта. Вот пример проекта с двумя main артифактами. Приведу только ключевые фрагменты которые есть суть.

    pom.xml
    <profiles>
        <profile>
          <id>java</id>
          <properties>
            <main.class.name>org.example.JavaTemplate</main.class.name>
            <jar.name>java-template</jar.name>
          </properties>
        </profile>
        <profile>
          <id>java-kafka-producer</id>
          <properties>
            <main.class.name>org.example.kafka.JavaKafkaProducerTemplate</main.class.name>
            <jar.name>java-kafka-producer-template</jar.name>
          </properties>
        </profile>
       ....
    <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>3.2.0</version>
            <configuration>
              <archive>
                <manifest>
                  <addClasspath>true</addClasspath>
                  <Main-Class>${main.class.name}</Main-Class>
                </manifest>
              </archive>
              <finalName>${jar.name}</finalName>
            </configuration>
          </plugin>

    Makefile
    java-kafka-producer-template: build
    	mvn package -DskipTests -Pjava-kafka-producer
    	cp -f target/java-kafka-producer-template.jar ./bin/
    
    build: clean
    	mvn install dependency:copy-dependencies
    	cp -f target/dependency/* ./bin/
    	rsync src/main/resources/shell/* ./bin
    
    clean:
    	rm -fr bin/*
    	mkdir -p bin/
    ...


    Сразу скажу что я не искал коробочного решения в виде готового gradle/maven плагина. Я просто скриптовал последовательность действий для нескольких сборок. Фактически я делал несколько компилляций проекта с разными параметрами. Я думаю что я достиг своей цели не заморачиваясь java-перфекционизмом или зависимостью от IDE.
    Ответ написан
    Комментировать
  • Можно ли собрать apk используя тоьько jdk?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Дело в том что Google использует свою jvm бинарно не совместимую с Sun/Oracle jvm.
    Поэтому я могу спорить на виски что не взлетит никак.
    Ответ написан
    Комментировать
  • Возможно ли на java сделать микросервис, который бы генерировал xls со сложной структурой и использовать его через api?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Вопрос состоит из двух частей.

    1) Можно ли на java сделать микросервис? Ответ - да. Есть много готовых шаблонов типа Spring-REST
    которые являют собой почти готовые микро-сервисы.

    Например https://start.spring.io/;

    2) Генерировать XLS со сложной структурой. Тут не знаю. Насколько сложной? Что там? Вся база знаний о планете Земля со времен Шумеров? Ну для работы с XLS есть библитечка apache poi

    https://poi.apache.org/
    Ответ написан
    4 комментария
  • No main manifest attribute как исправить данную ошибку?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Ты издеваешся такие имена для артифактов создавать?
    1.7.10.jar
    Вот как понять какой артифакт ты собрал? КЛиент? Сервер?

    Добавь main class к нужному артифакту по шаблону.
    <attribute name="Main-Class" value="your.main.class.is.Here"/>
    Ответ написан
  • Ошибка возникающая при сборке maven проекта. Какую версию Java необходимо указать?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Вот так надо.

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
      </properties>
    
            <plugin>
              <artifactId>maven-compiler-plugin</artifactId>
              <version>3.8.0</version>
            </plugin>
    Ответ написан
    Комментировать
  • Как получить результат из exec с русскими символами?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Точного ответа на твой вопрос сразу нельзя дать. Потому - что тут идет экспертное дерево вопросов и ответов.
    Непонятно где ты запускаешь. В среде разработки или в консоли.

    Попробуй сначала в консоли сделать так.

    C:\>chcp 866
    Active code page: 866

    Запустить приложение.

    И потом еще так.
    C:\>chcp 1251
    Active code page: 1251
    Ответ написан
    4 комментария
  • Почему в Kotlin (а может и в Java) так много методов?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    В Java мне часто не хватает некоторых методов для работы со строками и я подключаю commons-lang3. Кажется там есть всякие расширенные опции поиска и замены. И что характерно там не нужен формат регулярки. А просто можно строку заменять на строку. Я давно ничего не делал в Котлине и не знаю как там щас. Но мне кажется что они пошли по пути очень быстрой эволюции языка. Я не знаю хорошо это или плохо. Как мне кажется это всегда плохо
    для изучающих язык. Язык богатый фичами языка - всегда будет сложен в разборе поведения. Яркий пример - неопределенное поведение в некоторых языках. Целые статьи на эту тему пишут. Чтоб объяснить почему инкременты с присвоениями конфликтуют в одном выржаении.

    И вообще найти баланс между ядром языка и библиотеками - это большое искусство. Я в данном случае - за простоту языка.
    Ответ написан
    2 комментария
  • Как удалить ненужные версии JDK?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Не знаю откуда вы сформировали такой отчет.

    С точки зрения современной ОС вы можете хранить много конфигураций JDK/JRE и перключаться между ними просто изменяя PATH/CLASSPATH. Это работает для Linux в основном. Для Windows мне это не удавалось. По крайней мере был еще один способ конфигурирования путей доступа к библиотекам который я на тот момент не знал. Возможно через реестр.

    Чтобы удалить ненужный - нужно знать какие вам нужны. Я-бы оставил только 17 поскольку она LTS (Long Term Support) а все остальные бы удалил если нет других требований.

    Из оставшихся двух версия corretto - разрабатывается и поставляется амазоном на его виртуалки. Поэтому если хостинг покупаете в амазоне то имеет смыл и ее использовать. Но я не вижу JDK это или JRE. Для процесса разработки софта (компилляции) нужна только JDK.
    Ответ написан
    2 комментария
  • Почему не выводится объект через сторонний класс?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Здесь создается новый экземпляр
    NameFind nameFind = new NameFind();
    который еще ничего не знает про "qqq"
    Ответ написан
  • Android studui после обновления testImplementation 'junit:junit:4.13.2' не импортируется класс HdrImageCaptureExtender. Как исправить?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    По сегодняшним меркам технологии устарели. Так автор ставит
    testImplementation 'junit:junit:4.+'

    Каким сегодняшним меркам? Да эти зависимости еще 20 лет будут работать. Ты разобрался как знак "+" работает
    в данном контексте? Поставь конкретную версию junit (старую!) с которой все работало раньше и пускай так себе
    работает. А то у тебя как в анекдоте "лапы вытянул - хвост увяз".
    Ответ написан