मैं एक वेबपैप लॉन्च करने के लिए एम्बेडेड जेटी का उपयोग कर रहा हूं और मैं जेएसपी पृष्ठों को विचारों के रूप में उपयोग करता हूं।जेएसपी का उपयोग करके एम्बेडेड जेटी का उपयोग करने से त्रुटि मिलती है "web-jsptaglibrary_1_2.dtd नहीं मिला"
मेवेन-जेटी-प्लगइन का उपयोग परीक्षण के लिए ठीक काम करता है, जो मुझे लगता है कि सर्वर को बूटस्ट्रैप करते समय मुझे कुछ निर्भरताएं याद आ रही हैं (और जो समस्या का मूल कारण है)।
java $JAVA_OPTS -cp target/classes:target/dependency/* xxx.Main
मैं Maven में निर्भरता प्लगइन का इस्तेमाल किया है (पैक युद्ध फ़ाइल के बाहर) classpath पर सभी deps प्राप्त करने के लिए सुनिश्चित करने के लिए:
<execution>
<id>copy-dep</id>
<goals>
<goal>copy-dependencies</goal>
</goals>
</execution>
मैं कमांड के साथ घाट bootstrap
मुख्य वर्ग इस तरह दिखता है:
Server server = new Server(8080);
WebAppContext root = new WebAppContext();
root.setContextPath("/");
root.setWar("target/app.war");
server.setHandler(root);
server.start();
server.join();
एम्बेडेड जेट्टी सर्वर त्रुटियों के बिना शुरू होता है, बू टी जेएसपी पेज लौटने वाले यूआरएल पर नेविगेट करते समय मुझे हमेशा यह त्रुटि मिलती है।
स्टैकट्रेस:
PWC6181: File /javax/servlet/jsp/resources/web-jsptaglibrary_1_2.dtd not found
Caused by:
org.xml.sax.SAXException: PWC6181: File /javax/servlet/jsp/resources/web-jsptaglibrary_1_2.dtd not found
at org.apache.jasper.xmlparser.MyEntityResolver.resolveEntity(ParserUtils.java:566)
at com.sun.org.apache.xerces.internal.util.EntityResolverWrapper.resolveEntity(EntityResolverWrapper.java:107)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.resolveEntityAsPerStax(XMLEntityManager.java:1018)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.dispatch(XMLDocumentScannerImpl.java:1192)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.next(XMLDocumentScannerImpl.java:1090)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:1003)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:235)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284)
at org.apache.jasper.xmlparser.ParserUtils.parseXMLDocument(ParserUtils.java:296)
at org.apache.jasper.xmlparser.ParserUtils.parseXMLDocument(ParserUtils.java:366)
at org.apache.jasper.runtime.TldScanner.scanTld(TldScanner.java:526)
at org.apache.jasper.runtime.TldScanner.scanJar(TldScanner.java:379)
at org.apache.jasper.runtime.TldScanner.scanJars(TldScanner.java:607)
at org.apache.jasper.runtime.TldScanner.scanTlds(TldScanner.java:282)
at org.apache.jasper.runtime.TldScanner.getLocation(TldScanner.java:255)
मैं जेट्टी 8 का उपयोग करें और मेरे web.xml सर्वलेट 3.0 के लिए कॉन्फ़िगर किया गया है।
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" 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/web-app_3_0.xsd">