У меня есть веб-проект с maven, работающим на Tomcat 9.0.Моя проблема в том, что я хочу открыть .png для обработки его в моем коде Java, но я не могу получить разрешение на его открытие.
Я ничего не пробовал, и я все из идей.Нет, я уже все проверил и погуглил на подобные проблемы.Каждое возможное решение, которое я тестировал до сих пор, вы увидите в коде.
spring-dispatcher-servlet.xml
...
<mvc:resources mapping="/resources/**"
location="/resources/" />
<mvc:resources mapping="/output/**"
location="/output/" />
<mvc:annotation-driven />
<mvc:default-servlet-handler />
...
pom.xml
<build>
<defaultGoal>install</defaultGoal>
<sourceDirectory>src</sourceDirectory>
<resources>
<resource>
<directory>WebContent/resources</directory>
</resource>
<resource>
<directory>WebContent/output</directory>
</resource>
</resources>
<plugins>
...
web.xml
...
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring-dispatcher-servlet.xml</param-value>
</context-param>
<context-param>
<description>Location to store uploaded file</description>
<param-name>file-upload</param-name>
<param-value>
C:\Program Files\Apache Software Foundation\Tomcat 9.0\wtpwebapps\Novega\resources\
</param-value>
</context-param>
...
Создание моего веб-проекта (ошибок пока нет)
...
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ Novega ---
[INFO] Using 'ISO-8859-1' encoding to copy filtered resources.
[INFO] Copying 132 resources
[INFO] Copying 1 resource
...
Java C
код для продолжения работы с файлом - некоторые дикие тесты включены.
// Wappen einfügen
XWPFParagraph p1a = document.createParagraph();
XWPFRun run1a = p1a.createRun();
p1a.setAlignment(ParagraphAlignment.CENTER);
try {
String imgFile1 = "src/main/resources/NRW_Wappen.png";
FileInputStream is1 = new FileInputStream(imgFile1);
} catch (Exception e) {
System.out.println("1");
}
try {
String imgFile2 = "src/main/resources/resources/Ouput/NRW_Wappen.png";
FileInputStream is2 = new FileInputStream(imgFile2);
} catch (Exception e) {
System.out.println("2");
}
try {
String imgFile3 = "src/main/resources/resources/NRW_Wappen.png";
FileInputStream is3 = new FileInputStream(imgFile3);
} catch (Exception e) {
System.out.println("3");
}
try {
String imgFile4 = "src/main/resources/output/NRW_Wappen.png";
FileInputStream is4 = new FileInputStream(imgFile4);
} catch (Exception e) {
System.out.println("4");
}
try {
String imgFile5 = "file-upload/NRW_Wappen.png";
FileInputStream is5 = new FileInputStream(imgFile5);
} catch (Exception e) {
System.out.println("5");
}
try {
String imgFile6 = "C:/Users/DerFreundlichste/Desktop/NRW_Wappen.png";
FileInputStream is6 = new FileInputStream(imgFile6);
} catch (Exception e) {
System.out.println("6");
}
String imgFile = "NRW_Wappen.png";
FileInputStream is = new FileInputStream(imgFile);
run1a.addPicture(is, XWPFDocument.PICTURE_TYPE_PNG, imgFile, Units.toEMU(170), Units.toEMU(179)); // 200x200 pixels
run1a.addBreak();
is.close();
Мое сообщение об ошибке
HTTP Status 500 – Internal Server Error
Type Exception Report
Message Handler dispatch failed; nested exception is java.lang.NoSuchMethodError: org.apache.xmlbeans.XmlOptions.setEntityExpansionLimit(I)Lorg/apache/xmlbeans/XmlOptions;
Bescrheibung The server encountered an unexpected condition that prevented it from fulfilling the request.
Exception
org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.NoSuchMethodError: org.apache.xmlbeans.XmlOptions.setEntityExpansionLimit(I)Lorg/apache/xmlbeans/XmlOptions;
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1053)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:908)
javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
Root Cause
java.lang.NoSuchMethodError: org.apache.xmlbeans.XmlOptions.setEntityExpansionLimit(I)Lorg/apache/xmlbeans/XmlOptions;
org.apache.poi.ooxml.POIXMLTypeLoader.<clinit>(POIXMLTypeLoader.java:43)
org.apache.poi.xwpf.usermodel.XWPFRun.addPicture(XWPFRun.java:1068)
com.novega.Gesellschaft.submitGesellschaftS2(Gesellschaft.java:600)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:189)
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:800)
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1038)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:908)
javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
"возможное" решение, которое я нашел, но я не очень доволен им.
java.lang.NoSuchMethodError: org.apache.xmlbeans.XmlOptions.setSaveAggressiveNamespaces () Lorg / apache / xmlbeans / XmlOptions;