оператор » не допускается для исходного уровня ниже 1,7 в jsp

#java #jsp

Вопрос:

Ниже приведено сообщение об ошибке при выполнении команды сборки в gradle. Я перехожу с tomcat 7 на Tomcat 9.

_jspx_imports_classes = новый java.util.Набор хэшей<>(); ^^^^^^^^^^^^^^^^^ ‘<><>’ оператор не допускается для уровня источника ниже 1.7

Я использую JDK 1.8 и gradle для сборки кода.

Комментарии:

1. Как вы строите?

2. Компилятор jspc, jasper для jsp(x) мог быть установлен (в web.xml) с помощью compilerSourceVM , compilerTargetVM init-параметры.

3. Я строю с помощью gradle

4. Пожалуйста, предоставьте достаточно кода, чтобы другие могли лучше понять или воспроизвести проблему.

Ответ №1:

Сегодня я исправил свою проблему

 subprojects {
apply plugin: 'com.parag.gradle.buildinfo'

if(! assemblyProjects.contains(it)) {
        // setup source and target compatibility for jsp and add default dependencies    
        plugins.withId('com.parag.gradle') {
            tasks.withType(<taskType>) {
                sourceCompatibility = 1.8
                targetCompatibility = 1.8
                jspPackage = "org.apache.jsp.${project.name}"
            }
            
            dependencies {
                    compile 'org.apache.tomcat:tomcat-jsp-api'
            }
        }
        dependencies {
            compile 'org.apache.tomcat:tomcat-el-api'
            // compile 'javax.servlet:javax.servlet-api'
            compile 'org.apache.tomcat:tomcat-servlet-api'
        }
 }
 

}