Я знаю, что об этом говорят многие темы, но я раскрываю ситуацию, которую мне не удалось решить с их помощью. Я надеюсь, что моя проблема, и если в будущем она будет решена, я смогу помочь большему количеству людей в моей ситуации.
Я пытаюсь развернуть войну в Tomcat по горячим причинам и нахожусь в следующих четырех ситуациях:
Дело 1
Команда развертывания, выполненная из папки проекта:
mvn clean install org.apache.tomcat.maven:tomcat7-maven-plugin:2.2:deploy -P PROFILE_ONE,PROFILE_TWO -Dmaven.skip.test=true -DskipTests=true -Dmaven.javadoc.skip=true -Dsource.skip=true -Dproject.build.sourceEncoding=UTF-8 -Dcobertura.skip=true -Dmaven.skip.test=true -DskipTests=true -Dmaven.javadoc.skip=true -Dsource.skip=true -Dproject.reporting.outputEncoding=UTF-8 -Dmaven.tomcat.path=/MY_PATH -Dmaven.tomcat.url=http://localhost:8081/manager/text -Dmaven.tomcat.server=TomcatServer -Dtomcat.password=TOMCAT_USER -Dtomcat.username=TOMCAT_PASSWORD
И apache-tomcat-7.0.91 \ conf \ context.xml со следующими свойствами:
<Context antiResourceLocking="true" antiJARLocking="true">
Результат 1 случая
Кажется, что развертывание работает нормально, но когда я вхожу в приложение, появляется следующая ошибка:
Эта страница не может быть найдена (localhost)
Веб-страница для адреса http://localhost:8081/MY_PATH/#/PATH. не найдена
ОШИБКА HTTP 404
Дело 2
Та же команда для случая 1, выполненная из папки проекта и apache-tomcat-7.0.91 \ conf \ context.xml без свойств антиблокировки:
<Context>
Случай 2, результат
Развертывание и приложение работают правильно, но когда я пытаюсь выполнить повторное развертывание, с той же командой и добавлением свойства -Dmaven.tomcat.update=true
работает неправильно, потому что есть несколько jar-файлов, которые заблокированы, и tomcat не может их удалить. (Это причина, по которой в других случаях я добавляю антиблокирующие свойства)
Дело 3
Та же команда случая 1 выполняется из папки проекта и apache-tomcat-7.0.91 \ conf \ context.xml со следующими свойствами:
<Context antiJARLocking="true">
Случай 3, результат
равно результату случая 2.
Дело 4
Та же команда случая 1 выполняется из папки проекта и apache-tomcat-7.0.91 \ conf \ context.xml со следующими свойствами:
<Context antiResourceLocking="true">
Результат по делу 4
равно результату случая 1.
конец дела
Как видите, моя цель - сначала выполнить развертывание, а затем повторно развернуть то же приложение (с изменениями в папке проекта). Вся информация, которую я нашел, говорит о свойствах антиблокировки, но, как я уже сказал выше, когда я помещаю их в context.xml, приложение, похоже, не работает. Важно сказать, что из-за потребностей проекта я не могу изменить название войны.
РЕДАКТИРОВАТЬ 1
Дело 5
Я также попытался с помощью следующей команды:
mvn clean install -U -P PROFILE_ONE,PROFILE_TWO -Dmaven.skip.test=true -DskipTests=true -Dmaven.javadoc.skip=true -Dsource.skip=true -Dproject.build.sourceEncoding=UTF-8 -Dcobertura.skip=true -Dmaven.skip.test=true -DskipTests=true -Dmaven.javadoc.skip=true -Dsource.skip=true -Dproject.reporting.outputEncoding=UTF-8 org.apache.tomcat.maven:tomcat7-maven-plugin:2.2:redeploy-only -Dmaven.tomcat.path=/MY_PATH -Dmaven.tomcat.url=http://localhost:8081/manager/text -Dmaven.tomcat.server=TomcatServer -Dtomcat.password=admin -Dtomcat.username=admin
И apache-tomcat-7.0.91 \ conf \ context.xml со следующими свойствами:
<Context antiResourceLocking="true">
Случай 5 Результат КО
равно результату варианта 1.
Почему antiResourceLocking="true"
вызывает ошибку результата 1?