我需要在我当前的项目中使用 Apache CXF 和 Maven。当我从 Apache 站点下载 CXF 时,我注意到发行版中有一组 Jars。但是当我将 cxf-rt-frontend-jaxws 依赖项添加到 pom.xml 并发出mvn package
命令时,lib 文件夹中有一些不同的文件,例如 cxf-api-2.2.7.jar
两种分布(如果有的话)有什么区别?
一般来说,如果使用 Maven,则根本不需要下载的发行版。下载的发行版确实提供了一些有用的示例等......这可能会有所帮助,但是要构建应用程序,您并不需要它。
但是,下载中的 lib 目录使用“cxf-bundle”jar(重命名为 cxf-VERSION.jar)而不是单独的 jar。如果您使用 maven,您可能会使用各个模块(如 cxf-rt-frontend-jaxws)。您可以删除 lib/cxf-VERSION.jar 并将所有 jar 从 modules/*.jar 复制到 lib 并通过下载完成几乎相同的事情。不过,那只是一堆罐子。
注意:你真的应该使用 CXF 2.6.2,而不是 2.2.7。2.2.x 不受支持,并且存在各种安全问题,这些问题已在较新版本中得到修复。