Вам нужно добавить зависимость JAXB (как это больше не предоставляется по умолчанию в Java 9), и вам нужно использовать Spring Boot 2. Обратите внимание, что если вы используете Java 10 (и, возможно, следующие версии), у вас будет точно такая же проблема, как удаление зависимостей JAXB, было сделано не только для версии Java 9.
Вики-страница Spring Boot о Java 9 перечисляет все, что вам нужно знать для запуска Приложения Spring Boot на Java 9.
Spring Boot 1 не поддерживает его (и не планируется). Spring Boot 2 поддерживает его.
Spring Boot 2 - первая версия поддержки Java 9 (также поддерживается Java 8). Если вы используете 1.5 и хотите использовать Java 9, вы должны обновить до 2.0, так как мы не планируем поддерживать Java 9 в Spring Boot 1.5.x.
Некоторые известные обходные пути
AspectJ
С Java 9, если вам нужно сплести классы из JDK, вам необходимо использовать AspectJ 1.9 (сейчас в RC). Это должно быть временным решением, поскольку Aspect 1.9 GA находится за углом, и Spring Boot обновится до него. Spring AOP должен работать нормально в большинстве случаев с AspectJ 1.8 (по умолчанию в моментальных снимках Spring Boot).
JAXB
При обновлении вы можете столкнуться с следующим :
java.lang.NoClassDefFoundError: javax / xml / bind / JAXBException
Для спящего режима обычно требуется JAXB, который больше не предоставляется по умолчанию. Вам нужно либо добавить зависимость к вашему проекту:
javax.xml.bind jaxb-api 2.3.0 Тестирование
В последней версии maven-surefire-plugin (2.20.1) была введена регрессия, когда выполняемые тесты на Java 9. Вы можете либо понизить до 2.20.0, либо явно добавить один модуль, чтобы предотвратить его включение java.se.ee:
org.apache.maven.plugins maven-surefire-plugin --add-modules java.base Некоторые известные ограничения
Эти библиотеки еще не имеют полной поддержки Java 9:
- Apache Cassandra, см. # 10453
- JSP TLD со встроенным Tomcat, если он не запущен как упакованная война, см. # 10456
Пожалуйста, не стесняйтесь редактировать этот пост, если происходят изменения совместимости Java 9 с Spring Boot.
Чтобы проверить тип mime ввода файла в Laravel, вы можете использовать правило mimes
. Не забудьте сопоставить тип mime, обнаруженный с помощью фактического mime файла, который вы предоставляете. Он может различаться на разных серверах.
Например, вы хотите включить добавление и документ Word в форме:
1) в config/mimes.php
добавить следующие типы mime:
'doc' => array('application/msword', 'application/vnd.ms-office'),
'docx' => array('application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/zip'),
2) в вашей проверке $rules
добавьте следующие элементы:
'file' => 'required|max:10000|mimes:doc,docx' //a required, max 10000kb, doc or docx file
Попробуйте это?
'file' => 'required|max:10000|mimes:application/vnd.openxmlformats-officedocument.wordprocessingml.document'
Возможно, вы захотите установить какое-то пользовательское сообщение для ответа:)