2014-03-05 2 views
3

간단한 웹 응용 프로그램을 실행하려고합니다. 나는 그 근원이 스스로 말하도록 할 것이다.데이터 소스 사용을위한 Jetty-maven-plugin 구성

[INFO] --- jetty-maven-plugin:9.1.2.v20140210:run (default-cli) @ WelcomeSite --- 
[INFO] Configuring Jetty for project: WelcomeSite 
[INFO] webAppSourceDirectory not set. Trying src/main/webapp 
[INFO] Reload Mechanic: automatic 
[INFO] Classes = /home/esc/IdeaProjects/WelcomeSite/target/classes 
[INFO] Configuring Jetty from xml configuration file = /home/esc/IdeaProjects/WelcomeSite/src/main/webapp/WEB-INF/jetty-env.xml 
2014-03-05 12:58:22.762:WARN:oejx.XmlConfiguration:main: Config error at <New id="h2Datasource" class="org.eclipse.jetty.plus.jndi.Resource"><Arg>jdbc/h2db</Arg><Arg>|   <New class="com.mchange.v2.c3p0.ComboPooledDataSource"><Set name="driverClass">org.h2.Driver</Set><Set name="jdbcUrl">jdbc:h2:~/temp/testdb</Set><Set name="username">sa</Set><Set name="password"/></New>|  </Arg></New> java.lang.ClassNotFoundException: com.mchange.v2.c3p0.ComboPooledDataSource in file:/home/esc/IdeaProjects/WelcomeSite/src/main/webapp/WEB-INF/jetty-env.xml 
[INFO] Jetty server exiting. 

어떻게이 문제를 해결하려면 다음이

의 pom.xml

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>WelcomeSite</groupId> 
    <artifactId>WelcomeSite</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <packaging>war</packaging> 
    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 
    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>3.1</version> 
       <configuration> 
        <source>1.7</source> 
        <target>1.7</target> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.eclipse.jetty</groupId> 
       <artifactId>jetty-maven-plugin</artifactId> 
       <version>9.1.2.v20140210</version> 
       <configuration> 
        <scanIntervalSeconds>5</scanIntervalSeconds> 
        <contextPath>/</contextPath> 
        <stopKey>STOP</stopKey> 
        <stopPort>8005</stopPort> 
        <jettyXml>src/main/webapp/WEB-INF/jetty-env.xml</jettyXml> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 

    <dependencies> 
     <dependency> 
      <groupId>org.eclipse.jetty</groupId> 
      <artifactId>jetty-server</artifactId> 
      <version>9.1.0.RC2</version> 
     </dependency> 
     <dependency> 
      <groupId>com.h2database</groupId> 
      <artifactId>h2</artifactId> 
      <version>1.3.174</version> 
     </dependency> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-entitymanager</artifactId> 
      <version>4.2.7.SP1</version> 
     </dependency> 
     <dependency> 
      <groupId>c3p0</groupId> 
      <artifactId>c3p0</artifactId> 
      <version>0.9.1.2</version> 
     </dependency> 
    </dependencies> 
</project> 

부두 - env.xml

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://www.eclipse.org/jetty/configure.dtd"> 

<Configure id ="h2db" class="org.eclipse.jetty.webapp.WebAppContext"> 
    <New id="h2Datasource" class="org.eclipse.jetty.plus.jndi.Resource"> 

     <Arg>jdbc/h2db</Arg> 
     <Arg> 
      <New class="com.mchange.v2.c3p0.ComboPooledDataSource"> 
       <Set name="driverClass">org.h2.Driver</Set> 
       <Set name="jdbcUrl">jdbc:h2:~/temp/testdb</Set> 
       <Set name="username">sa</Set> 
       <Set name="password"></Set> 
      </New> 
     </Arg> 
    </New> 
</Configure> 

mvn jetty:run 실행 나에게주는? 그 수업이 왜 보이지 않는지 이해가 안되니?

답변

2

c3p0:c3p0:0.9.1.2 종속성을 jetty-maven-plugin의 종속성으로 추가하십시오. 나는 그것이 그것을해야한다고 생각한다. 예, WAR 파일에 의존성을 가지고 있지만 Jetty 서버는 데이터 소스를 설정하기 위해 필요할 것입니다. (실제 웹 응용 프로그램이 Jetty에 배포되기 전에 기본적으로 필요합니다. 이는 현재 설정에서 발생하지 않습니다.)

관련 문제