Я работаю над API отдыха, и структура проекта представляет собой многокомпонентный проект maven, организованный по слоям (репозиторий, сервис и т. Д.), И мой проект будет размещен на wildfly 13. Моя рабочая среда - windows 10 (64bit),
Я настроил свой модуль репозитория для загрузки файла внешних свойств, и у меня появилась эта ошибка:
13: 24: 04,470 INFO [org.jboss.as.controller] (DeploymentScanner-потоки - 2) WFLYCTL0183: отчет о состоянии службы WFLYCTL0186: службы, которые не удалось запустить: служба jboss.undertow.deployment.default-server.default-host./RestApiName: java.lang.RuntimeException: org.springframework.beans.factory.BeanDefition: Не удалось обработать кандидатов на импорт для класса конфигурации [com.company.be.restapiname.config.ServiceContextConfig];вложенным исключением является java.io.FileNotFoundException: (система не может найти указанный путь)
Полагаю, вместо получения правильного пути возвращается пробел, поскольку между FileNotFoundException есть несколько пробелов: и (Система ...).
Это мой класс конфигурации пружины:
@Configuration
@EnableTransactionManagement
@EnableJpaRepositories(basePackages = {"com.company.be.restapiname.repository"})
@PropertySource("file:#{systemProperties['CONF']}/persistence.properties")
public class PersistenceContextConfig {
...
}
Я провел небольшое исследование и не понимаю, что не так, потому что:
Случайно использовать SpEL с @PropertySource;systemProperties - это предопределенная переменная, доступная через SpEL
Префикс «File:» означает, что spring будет использовать FileSystemResource для разрешения пути
Я добавил переменную CONF через панель переменных Windows Env, и я 'Я не уверен, что systemProperties может получить доступ к среде Windows.Поэтому я добавил переменную в качестве параметра jvm в сценарий запуска wildfly
set "CONF = c: \ dev \ wildfly-13.0.0.Final \ standalone \ config"
set "JAVA_OPTS = -DCONF =% CONF%% JAVA_OPTS%"
И если я заменю выражение Spring абсолютным путем, я получу это сообщение:
WFLYCTL0186: Службы, которые не запустились: службаcom.company.be.restapiname.config.ServiceContextConfig];вложенное исключение: java.io.FileNotFoundException: c: \ dev \ wildfly-13.0.0.Final \ standalone \ config \ persistence.properties} (системе не удается найти указанный файл)
Спасибо взаранее ребята.