2012-03-01 69 views
0

我正在构建cxf应用程序,它将在FUSE ESB下运行。FUSE ESB,休眠,mysql

通常我只是为交换数据创建应用程序,但现在我必须创建应用程序,它将连接到mysql。

我已经开始在cxf下构建配置,但是我发现了一个问题。

当我加入类:

com.mchange.v2.c3p0 

从上FUSE ESB avalible CXF应用我<Import-Package>我的应用程序dissapear。

<plugin> 
      <groupId>org.apache.felix</groupId> 
      <artifactId>maven-bundle-plugin</artifactId> 
      <version>2.1.0</version> 
      <extensions>true</extensions> 
      <configuration> 
       <instructions> 
        <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName> 
        <Import-Package> 
         ...... 

         com.mchange.v2.c3p0, 
         ...... 
         <DynamicImport-Package>...</DynamicImport-Package> 

       </instructions> 
      </configuration> 
     </plugin> 

当我从pom.xml中删除com.mchange.v2.c3p0应用程序的附件。

我该怎么办?

+0

您可能想阅读关于如何在Fuse ESB平台上使用hibernate与MySQL的完整教程:http://lukaszbaran.com/blog/?p=259 – Lukasz 2012-03-01 13:45:23

回答

0

我猜你的包没有启动,因为无法解析com.mchange.v2.c3p0依赖项。默认情况下,FuseESB不包含C3P0依赖项,因此您需要将它们包含在您的项目中,或者将它们作为单独的包进行部署。

如果您在自己的包中提供依赖关系,则必须导出c3p0包或将它们添加为私有包。这样

... 
    <Private-Package> 
     ... 
     com.mchange.* 
     ... 
    </Private-Package> 
    ... 

当然,有些事情,你需要添加maven的依赖关系为C3P0在你的POM。

无论如何,您应该阅读Lukasz的博客条目。