मेरे पास मेवेन और जेट्टी के साथ एक बहुत ही सरल वेबपैप प्रोजेक्ट है जो अब तक बहुत अच्छी तरह से काम कर रहा है। लेकिन अब मुझे जेएनडीआई के साथ MySQL कनेक्शन पूलिंग सेट करने की आवश्यकता है क्योंकि डेटाबेस कनेक्शन हमेशा समय समाप्त हो जाते हैं।डेटासोर्स के साथ जेट्टी-एनवी.एक्सएमएल एमवीएन जेटटी पर वेबएप कॉन्टेक्स्ट में विफल होने की ओर जाता है:
<modelVersion>4.0.0</modelVersion>
...
<packaging>war</packaging>
...
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<jetty-version>8.1.0.v20120127</jetty-version>
</properties>
<dependencies>
...
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.20</version>
</dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>${jetty-version}</version>
<type>maven-plugin</type>
</dependency>
</dependencies>
...
<build>
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>${jetty-version}</version>
<configuration>
<scanIntervalSeconds>10</scanIntervalSeconds>
</configuration>
</plugin>
</plugins>
...
</build>
अब मैं निम्नलिखित के साथ फ़ोल्डर/src/मुख्य/webapp/वेब-INF में एक घाट-env.xml बनाया:
सब यहाँ सबसे पहले मेरी pom.xml की प्रासंगिक सामग्री है सामग्री:
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
<New id="project-db" class="org.eclipse.jetty.plus.jndi.Resource">
<Arg>jdbc/db</Arg>
<Arg>
<New class="com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource">
<Set name="url">jdbc:mysql://www.example.com:3306/mydb</Set>
<Set name="username">dbuser</Set>
<Set name="password">dbpass</Set>
</New>
</Arg>
</New>
</Configure>
लेकिन समस्या यह है कि मैं भी घाट-Maven-प्लगइन के रूप में लक्ष्य पर शुरू करने के लिए विफल रहता है इस संबंध में काम करता है, तो परीक्षण नहीं कर सकते है
mvn jetty:run
निम्न त्रुटि के साथ:
WARN:oejw.WebAppContext:Failed startup of context o.m.j.p.JettyWebAppContext
{/,file:/D:/documents/programmierung/workspace/battleships-trunk/src/main/webapp/}
,file:/D:/documents/programmierung/workspace/battleships-trunk/src/main/webapp/
java.lang.IllegalArgumentException: Object of class
'org.mortbay.jetty.plugin.JettyWebAppContext' is not of type
'org.eclipse.jetty.webapp.WebAppContext'.
Object Class and type Class are from different loaders.
तो कैसे मैं यह काम करने के लिए मिल सकता है? मैं जेट्टी संस्करण 8.x उपयोग करने के लिए के रूप में मैं WebSocket समर्थन की जरूरत के लिए मजबूर कर रहा हूँ और दूरदराज के उत्पादक सर्वर के रूप में जेट्टी 8. चल रहा हो जाएगा
संपादित पहले पावेल Veller का जवाब मैंने कोशिश की है: के लिए इकट्ठा युद्ध प्रसारित दूरस्थ jetty8 सर्वर और एक ही गलती केवल यह है कि पिछले त्रुटि अब के रूप में पढ़ता है:
java.lang.IllegalArgumentException: Object of class
'org.eclipse.jetty.webapp.WebAppContext' is not of type
'org.eclipse.jetty.webapp.WebAppContext'.
Object Class and type Class are from different loaders.
तो ऐसा लगता है के रूप में एक से अधिक वर्ग लोडर परस्पर विरोधी हैं।
EDIT2 पावेल द्वारा अनुरोध के रूप में मैं एक सरल webapp जो आप here on Dropbox पा सकते हैं के साथ त्रुटि निर्मित। यह एक ज़िप्ड ग्रहण मेवेन प्रोजेक्ट है।
इस समस्या का डेटा स्रोत से कोई लेना देना नहीं है। मेरे पास jetty-env.xml बिल्कुल नहीं है। – Lucky