私は非常にうまく動作しているmavenとjettyの非常に簡単なwebappプロジェクトを持っています。しかし、今はデータベース接続が常にタイムアウトするため、JNDIでMySQL接続プーリングを設定する必要があります。ここDataSourceを使用したjetty-env.xmlは、mvn jetty上でWebAppContextに失敗します。run
まず第一に、私のpom.xmlの関連性の高いコンテンツです:
<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の/ WEB-INFにある桟橋-env.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-pluginのが目標に起動に失敗したとして、私もテストすることができないということです
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.
は、どのように私はこの仕事を得ることができますか?私は、WebSocketをサポートする必要があるとして、突堤バージョン8.xを使用するように強制していますし、リモート生産サーバとして突堤8.を実行します
EDIT パベル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 パベルによって要求されたとして、私はあなたがhere on Dropboxを見つけることができる簡略化Webアプリケーションでエラーを再作成。これはzip形式のEclipse Mavenプロジェクトです。
この問題はデータソースとは関係ありません。私はjetty-env.xmlをまったく持っていません。 – Lucky