2

アプリケーションの 1 つで、Jetty に JNDI エントリを設定しようとしています。

mysql jar を入れました: lib/ext に mysql-connector-java-5.1.24-bin.jar

start.ini を編集し、OPTIONS を次のように変更しました: OPTIONS=Server,websocket,resources,ext,plus

また、次の行のコメントを外しました。

OPTIONS=jndi
OPTIONS=plus
etc/jetty-plus.xml

実行すると: service jetty start が得られます:

java.lang.ClassNotFoundException: org.eclipse.jetty.plus.jndi.Resource in file:/usr/share/jetty-distribution-9.0.4.v20130625/etc/jetty.xml

plus jar が /usr/share/jetty/lib にあることを確認しました

jar tf jetty-plus-9.0.4.v20130625.jar |grep jndi/Resource.class

与えます:

org/eclipse/jetty/plus/jndi/Resource.class

だからクラスはそこにあります。

JNDI エントリ自体は、etc/jetty.xml で定義されています。

...
<New id="fhxprime_test" class="org.eclipse.jetty.plus.jndi.Resource">
  <Arg><Ref refid="Server"/></Arg>
  <Arg>jdbc/fhxprime_test</Arg>
  <Arg>
    <New class="com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource">
        <Set name="Url">jdbc:mysql://hostname:3306/dbname</Set>
        <Set name="User">user</Set>
        <Set name="Password">password</Set>
    </New>
  </Arg>
</New>
</Configure>

他のアイデアはありますか?

4

1 に答える 1

2

別のサーバーでstartup.iniを変更していたことが判明しました

于 2013-07-24T02:57:02.977 に答える