Я создал веб-приложение через maven 3 и в структуре проекта есть файл myartifactid / META-INF / application.xml. Это содержит:
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_8.xsd"
version="8">
</application>
Я использую GlassFish 5 с jdk 1.8.0_191. Всякий раз, когда я запускаю сервер, я получаю следующую ошибку (преждевременный конец файла. Для получения более подробной информации см. Server.log. В application.xml):
Successfully started the domain : domain1
domain Location: /usr/applicationserver/glassfish5/glassfish/domains/domain1
Log File: /usr/applicationserver/glassfish5/glassfish/domains/domain1/logs/server.log
Admin Port: 4848
Command start-domain executed successfully.
Connected to server
[2018-11-14 11:45:33,345] Artifact myproject: Artifact is being deployed, please wait...
[2018-11-14 11:45:35,767] Artifact myproject: Error during artifact deployment. See server log for details.
[2018-11-14 11:45:35,767] Artifact myproject: java.io.IOException: com.sun.enterprise.admin.remote.RemoteFailureException: Error occurred during deployment: Exception while deploying the app [myproject] : org.xml.sax.SAXParseExceptionpublicId: http://www.oracle.com/technetwork/java/index.html; lineNumber: 1; columnNumber: 1; Deployment descriptor file META-INF/application.xml in archive [myproject]. Premature end of file.. Please see server.log for more details.
В Intellij выдается ошибка «Элемент приложения должен быть объявлен». Если посмотреть вокруг, кажется, что этот файл используется как дескриптор развертывания для javaeeApplication. В файле myproject.iml в Intellij у меня есть:
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="javaeeApplication" name="javaEEApplication">
<configuration>
<descriptors>
<deploymentDescriptor name="application.xml" url="file://$MODULE_DIR$/META-INF/application.xml" />
</descriptors>
</configuration>
</facet>
<facet type="web" name="Web">
<configuration>
<descriptors>
<deploymentDescriptor name="web.xml" url="file://$MODULE_DIR$/web/WEB-INF/web.xml" />
</descriptors>
<webroots>
<root url="file://$MODULE_DIR$/web" relative="/" />
</webroots>
<sourceRoots>
<root url="file://$MODULE_DIR$/src/main/java" />
</sourceRoots>
</configuration>
</facet>
</component>
</module>