• Как засунуть конфиг-файлы и библиотеки внутрь jar?

    @gubber
    Как вариант. Надо иметь два набора конфигов, один стандартный внутри jar файла, второй настраиваемый снаружи. И потом по порядку:
    1. читать настройки из файла стандартных настроек
    2. читать настройки из файла опциональных настроек.
    В этом случае для настроек не указанных во втором файле будут взяты значения по умолчанию.
    Ответ написан
    Комментировать
  • Почему не находит ресурсы?

    @gubber
    Слишком мало данных, чтобы дать точный ответ.
    Смысл в том, что ресурсы должны быть не в корне проекта, а в корне исходников. Т.е. если у Вас простое Java приложение (не maven и пр.), то ваши исходники с большей вероятностью находятся в папке src. Именно туда и надо положить файл ресурсов.
    Ответ написан
  • Как запустить filebeat внутри Docker контейнера?

    @gubber Автор вопроса
    В итоге, пришлось делать обходным путём:
    создать start.sh

    #!/bin/bash

    OUTPUT_LOGFILES=""

    service filebeat start

    OUTPUT_LOGFILES+="/var/log/filebeat/filebeat "

    cd /usr/local/tomcat/

    bin/catalina.sh start

    OUTPUT_LOGFILES+="/usr/local/tomcat/logs/catalina*.log"

    touch $OUTPUT_LOGFILES
    tail -f $OUTPUT_LOGFILES &
    wait


    И конечный Dockerfile выглядит следующим образом

    FROM tomcat:8.5
    RUN curl -L -O https://artifacts.elastic.co/downloads/beats/fileb...
    RUN dpkg -i filebeat-5.2.2-amd64.deb
    COPY filebeat.yml /etc/filebeat
    COPY ./start.sh /
    RUN chmod +x /start.sh

    COPY db-creator.jar /opt/db-creator/
    COPY ./docker-entrypoint.sh /
    RUN chmod +x /docker-entrypoint.sh
    ENTRYPOINT ["/docker-entrypoint.sh"]

    RUN rm -Rf /usr/local/tomcat/webapps/ROOT/*
    COPY server.xml /usr/local/tomcat/conf
    RUN mkdir /usr/local/tomcat/webapps-my
    COPY my.war /usr/local/tomcat/webapps-my/ROOT.war

    CMD ["/start.sh"]


    С ним лишь одна проблема - не захватывает логи томката. Но это потому что не умею "готовить кошек".
    Ответ написан
    Комментировать
  • JavaFx. Возможно ли сделать редактируемую ячейку без кода?

    @gubber Автор вопроса
    Всё дело в классе модели. Он должен соответствовать PropertyPattern для JavaFx.
    Рабочий класс модели, с которым у меня получилось добиться результата выглядит следующим образом
    class DuplicateFileInfo(id: Long, path: String, shouldBeDeleted: Boolean) {
    
        private val id: LongProperty
        private val path: StringProperty
        private val shouldBeDeleted: BooleanProperty
    
        init {
            this.id = SimpleLongProperty(id)
            this.path = SimpleStringProperty(path)
            this.shouldBeDeleted = SimpleBooleanProperty(shouldBeDeleted)
        }
    
        fun getId(): Long {
            return id.get()
        }
    
        fun idProperty(): LongProperty {
            return id
        }
    
        fun setId(id: Long) {
            this.id.set(id)
        }
    
        fun getPath(): String {
            return path.get()
        }
    
        fun pathProperty(): StringProperty {
            return path
        }
    
        fun setPath(path: String) {
            this.path.set(path)
        }
    
        var isShouldBeDeleted: Boolean
            get() = shouldBeDeleted.get()
            set(shouldBeDeleted) = this.shouldBeDeleted.set(shouldBeDeleted)
    
        fun shouldBeDeletedProperty(): BooleanProperty {
            return shouldBeDeleted
        }
    
        override fun toString(): String {
            val sb = StringBuffer("DuplicateFileInfo{")
            sb.append("id=").append(id.get())
            sb.append(", path=").append(path.get())
            sb.append(", shouldBeDeleted=").append(shouldBeDeleted.get())
            sb.append('}')
            return sb.toString()
        }
    }
    Ответ написан
    Комментировать
  • Как связать сервлет и JSP?

    @gubber
    1. Кажется Вы путаете контекст, где выполняется парсинг. Форма отображается на клиенте (в браузере) и обработка формы происходит на клиенте. Сервлет же выполняется на стороне сервера. Т.е. форма должна прислать на сервер данные, которые сервлет (уже другой) обработает эти данные и начнёт парсить запрошенный URL
    2. Выносить логику в JSP не имеет большого смысла. Т.к. JSP компилируется в servlet. И так же обрабатывается на стороне сервера.
    Ответ написан
    Комментировать
  • Почему не устанавливается зависимость в Ruby проекте?

    @gubber Автор вопроса
    Разобрался. Нужно было ставить JRuby.
    Ответ написан
    Комментировать