Spring boot 2.1.0 и Java 11 - JSP не загружается

Я устал исследовать этот вопрос и не могу найти на него правильного ответа. Собственно, я не нашел никого, кто использовал бы Java 11 и Spring. Мой JSP не загружается, это просто так. Немного информации о моем проекте:

Spring Boot version: 2.0.5.RELEASE
Java version: 11
Gradle: 4.10.2

Это мои свойства application.yml:

server:
  contextPath: /mypath
  port: 9012
  display-name: my app
  error:
    whitelabel:
      enabled: true
  tomcat:
    compression: on
    compressableMimeTypes: application/json,application/xml,text/html,text/xml,text/plain
    # springboot 1.3+ compression
#    compression:
#      enabled: true
#      mime-types: application/json,application/xml,text/html,text/xml,text/plain
    # enable HTTPS when running behind a proxy server
    remote_ip_header: x-forwarded-for
    protocol_header: x-forwarded-proto
  use-forward-headers: true
  # session timeout
  session:
    # spring time out set to 2hrs.
    cookie:
      max-age: 7200
    timeout: 7200
  # enabling SSL/HTTPS with spring boot
  ssl:
    enabled: true
    key-store: /mykeystorepath/keystore.ks
    key-store-password: password
    key-store-type: JKS
    key-alias: selfsigned

http:
  mappers:
    jsonPrettyPrint: true

multipart:
  maxFileSize: 500MB
  maxRequestSize: 500MB
  fileSizeThreshold: 0

spring:
  application:
    name: appname
  jmx:
    enabled: true
    default-domain: ${spring.application.name}
  http:
    # enable and force http encoding support.
    encoding:
      enabled: true
      charset: UTF-8
      force: true
  mvc:
    favicon:
      enabled: true
    view:
      prefix: /WEB-INF/jsp/
      suffix: .jsp

management:
  server:
    port: 9512
  endpoints:
    web:
      base-path: /manage

swagger:
  enable: false

endpoints:
  shutdown:
    enabled: true

#logging:
#  level:
#    org:
#      springframework:
#        web: DEBUG

Мои файлы jsp находятся в:

/parent-project-folder/my-app/src/main/webapp/WEB-INF/jsp/

Мой основной класс:

@SpringBootApplication(exclude = { SecurityAutoConfiguration.class })
public class Application extends SpringBootServletInitializer {

    /** The log. */
    private static final Logger LOG = LoggerFactory.getLogger(Application.class);

    /**
     * The main method.
     *
     * @param args the arguments
     */
    public static void main(String[] args) {
        SpringApplication springApplication = new SpringApplication(Application.class);
        springApplication.addListeners(new ApplicationPidFileWriter(System.getProperty("user.home") + File.separator + "app.pid"));
        springApplication.run(args);

        LOG.info("--------------------------------------------------------------");
        LOG.info("--------- application startup complete --------");
        LOG.info("--------------------------------------------------------------");
    }

    /*
     * (non-Javadoc)
     *
     * @see org.springframework.boot.web.support.SpringBootServletInitializer#configure(org.springframework.boot.builder.SpringApplicationBuilder)
     */
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(Application.class);
    }

}

Я даже пытался поместить свою папку WEB-INF в / src / main / resources.

Далее это список моих зависимостей (просто черновик копипаста):

apply plugin: 'war'

    compile 'javax.servlet:jstl:1.2'
classpath 'gradle.plugin.com.gorylenko.gradle-git-properties:gradle-git-properties:1.4.17'
        classpath "org.springframework.boot:spring-boot-gradle-plugin:2.0.5"
        classpath "com.netflix.nebula:gradle-ospackage-plugin:4.4.0"
        classpath "org.jfrog.buildinfo:build-info-extractor-gradle:4.5.4"
        classpath 'com.github.ben-manes:gradle-versions-plugin:0.17.0'
        classpath "gradle.plugin.com.github.spotbugs:spotbugs-gradle-plugin:1.6.4"
        classpath 'com.github.samueltbrown:gradle-cucumber-plugin:0.5'

compile 'org.glassfish.corba:glassfish-corba-omgapi:4.2.0-b004'
        compile 'org.jboss.spec.javax.xml.soap:jboss-saaj-api_1.3_spec:1.0.6.Final'
        runtime 'org.springframework.boot:spring-boot-properties-migrator'
        compile 'javax.xml.bind:jaxb-api:2.3.0'
        compile 'com.sun.xml.bind:jaxb-core:2.3.0.1'
        compile 'com.sun.xml.bind:jaxb-impl:2.3.0.1'
        compile 'javax.activation:activation:1.1.1'
        runtime 'javax.activation:javax.activation-api:1.2.0'

        compile 'javax.inject:javax.inject:1'
        compile 'org.apache.commons:commons-lang3:3.7'
        compile "org.springframework.boot:spring-boot-starter-actuator"
        compile "org.springframework.boot:spring-boot-starter-security"
compile (group: 'org.owasp.esapi', name: 'esapi', version:'2.1.0.1') {
                exclude group: 'org.apache.xmlgraphics'
            }

            compile "com.google.code.gson:gson:${gsonVersion}"
            compile 'taglibs:standard:1.1.2'
            compile 'org.apache.tomcat.embed:tomcat-embed-jasper'

            compile 'org.springframework.boot:spring-boot'
            compile "org.springframework.cloud:spring-cloud-starter-config"
            compile "org.springframework.boot:spring-boot-starter-web"
            compile "org.springframework.boot:spring-boot-starter-tomcat"
            compile "org.springframework.boot:spring-boot-starter-logging"
            compile 'com.mangofactory:swagger-springmvc:1.0.2'

            runtime  group: 'ph.samson.logback', name: 'logback-luhn-mask', version:'1.0.1'

            compile 'org.apache.xmlgraphics:batik-css:1.10'
            compile 'commons-beanutils:commons-beanutils-core:1.8.3'
            compile 'commons-fileupload:commons-fileupload:1.3.3'
            compile 'xalan:xalan:2.7.2'
            compile 'commons-httpclient:commons-httpclient:3.1'
            compile 'org.owasp.antisamy:antisamy:1.5.7'

У меня в корне есть файл login.jsp, который должен быть у меня как https: // локальный: 9012 / mypath / login.html, и он не загружается.

ОБНОВЛЕНИЕ в пятницу, 23 ноября

Я добиваюсь некоторого прогресса. Я расскажу больше о своем приложении. Первоначально это приложение было написано с использованием Java 1.8 и Spring 1.5.9.RELEASE и спецификаций для моей разработки. Раньше у приложения был контроллер GET по этому пути: «/ login». И вот здесь самая сложная часть: всякий раз, когда вы нажимаете URL-адрес «https://www.myapp.com/login.htm», каким-то образом / каким-то образом, чего я не понимаю, Spring удалось отправить запрос на «login.htm» в контроллер «/ login». Я не уверен, как это произошло с дополнительным ".htm".

Теперь, когда я использую Java 11 и Spring 2.1.0.RELEASE, это больше не работает. Если я нажму «/ войти», он перейдет к контроллеру. Но мне нужно сделать прозрачную миграцию, я не могу изменить логику. Это приложение обслуживает запросы, и клиентская сторона уже много лет использует /login.htm. Мне нужно, чтобы "/login.htm" переходил в "/ login".

проследите ошибку пожалуйста

want2learn 12.10.2018 21:31

Spring Boot 2.0.5 не полностью поддерживает Java 11. Spring 5.1 поддерживает. Дождитесь Spring Boot 2.1 GA или возьмите версию SNAPSHOT. Скорее всего, после этого ваша проблема будет решена.

Mikhail Kholodkov 12.10.2018 22:20

@MikhailKholodkov спасибо, немного разберусь. Я читал несколько форумов, и, как вы сказали, похоже, что java 11 еще не полностью поддерживается.

Perimosh 14.10.2018 16:40

@ want2learn, в трассировке стека вообще нет ошибок. Только информационные сообщения. Это действительно потрясающе.

Perimosh 14.10.2018 16:40

@Perimosh Пожалуйста, смотрите stackoverflow.com/a/53072662/3523579

Mikhail Kholodkov 30.10.2018 21:50

Spring 2.0.5 имеет незаконный доступ в java 11. Мне пришлось исключить артефакт spring-boot-start-logging. Это заставило меня запустить автономную банку, но я все еще не могу заставить ее работать с tomcat 9 и eclipse.

Mark D 02.11.2018 18:08

Народ: Немного обновил свой вопрос. Спасибо всем! @MikhailKholodkov

Perimosh 23.11.2018 19:28

@MarkD, пожалуйста, посмотрите

Perimosh 23.11.2018 19:29

@ want2learn, пожалуйста, посмотрите

Perimosh 23.11.2018 19:30
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
9
1 245
1

Ответы 1

Похоже, вы запускаете свое приложение в Tomcat. Поэтому проверьте версию Java, которую он использует. Если версия меньше, чем версия java приложения, tomcat просто не запускает ее.

Другие вопросы по теме