Недавно я обновил свое приложение java до java 1.8, Wildfly14, tomcat-8.0.21, ant-1.9.0 с java1.5, JBoss 4.2, tomcat-6.0.18, ant-1.7.1. И я начал видеть следующие ошибки.

build.xml: 425: при выполнении этой строки произошла следующая ошибка: build.xml: 192: org.apache.jasper.JasperException: файл: H: /controlpanel.jsp (строка: 1082, столбец: 2) Незавершенный <% tag

Когда я посмотрел на соответствующую строку (то есть ниже), похоже, что с кодом нет никаких проблем.

<% }    // signing popup else %>

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

<% } %>

Проблема в том, что это большое корпоративное приложение. Исправить каждый файл невозможно. Я просмотрел возможные решения, но пока не решил проблему. Какие-либо предложения?

0
Hitesh Thakur 19 Дек 2018 в 04:43

2 ответа

Лучший ответ

Это была проблема моего проекта. Виновником был следующий зов муравья:

    <target name="strip_whitespaces" if="env.PERL_HOME">
        <exec executable="${env.PERL_HOME}\bin\perl">
            <arg line="strip.pl css:js:jsp:inc:html ${dir}"/>
        </exec>
    </target>
    <antcall target="strip_whitespaces">
        <param name="dir" value="${build}/webapp"/>
    </antcall>

Strip.pl удалял пробелы и комментарии из файлов jsp. И это приводит к неопределенным ошибкам компиляции. Как только я удалил этот antcall, jsp скомпилировался нормально.

0
Hitesh Thakur 21 Дек 2018 в 06:28

Вы можете использовать regex, чтобы заменить все комментарии конечными тегами и заменить их на новую строку перед конечными тегами:

\/\/([^%]+)%>
0
user7294900 19 Дек 2018 в 07:05