Проблема в том, что addLifeCycle не принимает объект Resource
; требуется LifeCycle
реализации, таких как WebAppContext
с или WebAppDeployer
с.
Предполагая, что в вашем файле jetty.xml настроен WebAppDeployer (или его эквивалент), попробуйте следующее:
<Array id="plusConfig" type="java.lang.String">
<Item>org.mortbay.jetty.webapp.WebInfConfiguration</Item>
<Item>org.mortbay.jetty.plus.webapp.EnvConfiguration</Item>
<Item>org.mortbay.jetty.plus.webapp.Configuration</Item>
<Item>org.mortbay.jetty.webapp.JettyWebXmlConfiguration</Item>
<Item>org.mortbay.jetty.webapp.TagLibConfiguration</Item>
</Array>
<Call name="addLifeCycle">
<Arg>
<New class="org.mortbay.jetty.deployer.WebAppDeployer">
....
<Set name="ConfigurationClasses"><Ref id="plusConfig"/></Set>
....
</New>
</Arg>
</Call>
<New id="dev" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>jdbc/dev</Arg>
<Arg>
<New class="oracle.jdbc.pool.OracleConnectionPoolDataSource">
<Set name="User">username</Set>
<Set name="URL">jdbc:oracle:thin:@10.201.201.64:1521:DEV</Set>
<Set name="Password">password</Set>
</New>
</Arg>
</New>
Если вам нужен источник данных только для определенного веб-приложения, выполните аналогичную настройку в файле jetty-env.xml для этого веб-приложения.
Кроме того, так как вы используете Jetty 7, вам нужно будет загрузить (необязательно) библиотеки plus
(если exe не делает этого для вас уже). Вы будете знать, что они не загружаются, потому что вы получите ClassNotFoundException при запуске.
Запуская Jetty в Linux, я бы сделал это так:
java -DOPTIONS=plus -jar start.jar
Однако я не знаком с Windows. Возможно
Jetty-Service.exe -DOPTIONS=plus
будет работать? Если нет, то найдите что-то, что установило бы системное свойство "OPTIONS" в "plus" при запуске jetty.