2015-04-15 3 views
0

В Jetty embedded есть jetty.xml для конфигурации. В этой конфигурации есть mysql jndi-connection.Конфигурация Jetty: проблемы с MySQL JNDI

Когда я бегу причалом с Gradle, он бросает исключение:

Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource 
at org.eclipse.jetty.util.Loader.loadClass(Loader.java:86) 
at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.nodeClass(XmlConfiguration.java:364) 
at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.newObj(XmlConfiguration.java:754) 
at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.itemValue(XmlConfiguration.java:1125) 
at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.value(XmlConfiguration.java:1030) 
at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.newObj(XmlConfiguration.java:775) 
at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:423) 
at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:298) 
at org.eclipse.jetty.xml.XmlConfiguration.configure(XmlConfiguration.java:248) 
at org.eclipse.jetty.xml.XmlConfiguration$configure.call(Unknown Source) 
at com.sahlbach.gradle.plugins.jettyEclipse.JettyEclipseRun.applyJettyXml(JettyEclipseRun.groovy:533) 
at com.sahlbach.gradle.plugins.jettyEclipse.JettyEclipseRun.startJetty(JettyEclipseRun.groovy:318) 

Это линия jetty.xml где брошено исключение:

<New id="relevante" class="org.eclipse.jetty.plus.jndi.Resource"> 
    <Arg></Arg> 
    <Arg>jdbc/Relevante</Arg> 
    <Arg> 
     <New id="relevanteDataSource" class="com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource"> 
      <Set name="url">jdbc:mysql://localhost:3306/xxxx</Set> 
      <Set name="user">xxxx</Set> 
      <Set name="password">xxxx</Set> 
     </New> 
    </Arg> 
</New> 

Разъем MySQL является зависимость градиента, и я не знаю, нужно ли разместить соединитель в локальном адресе (в дополнение к зависимости от градиента).

jettyEclipse { 
    additionalRuntimeJars = files(new File("$rootDir/src/main/webapp/WEB-INF/lib/mysql-connector-java-5.0.8-bin.jar")) 
    warFile = file("$rootDir/build/libs/relevanteme.war") 
    jettyConfig = file("$rootDir/jetty.xml") 
    contextPath = "" 
    automaticReload = "true" 
    scanIntervalInSeconds = 5 
    webDefaultXml = file("$rootDir/webdefault.xml") 
} 

Спасибо!

+0

Как указывается зависимость? – Opal

+0

Это зависимость: compile ("mysql: mysql-connector-java: 5.1.34") –

ответ

0

Решение должно иметь два xml-файла для конфигурации сервера. Один из этих двух файлов будет jetty.xml, который будет иметь всю конфигурацию сервера. Другим файлом будет jetty-env.xml с настройкой webApp и подключением к базе данных (этот файл должен быть в webapp/WEB-INF /).

Дополнительная информация в this repository.

0

Какова задача запуска причала? Вы знаете, есть ли для этого отдельная конфигурация и распространяется ли она от компиляции?

+0

Я запускаю причал с jettyEclipse (плагин для градиента) и задачу, называемую jettyEclipseRun. Раньше я компилирую и создаю .war с задачей сборки. –

+0

работает ли командная строка? Gradle jettyRunWar ?? –

+0

Нет, эта команда, которая является плагином для пристани для Gradle, работает только для предыдущих версий до jetty7. Начиная с версии 7, я должен использовать plugin jettyEclipse. –

Смежные вопросы