繁体   English   中英

引用JAXB罐子-最佳实践

[英]Referencing JAXB jars - best practice

我的第一篇文章,所以对我轻松一点。

我正在寻找有关组织和引用供我的j2ee Web应用程序使用的第三方jar的建议。 我需要组织和引用的jar是JWSDP-2.0 JAXB api jar。

我正在使用Eclipse和Tomcat 5.5。 我的Web应用程序与Web服务交换XML,因此需要使用JWSDP-2.0中的JAXB api进行一些XML编组和解组。

我已经下载了JWSDP-2.0并安装到我的PC上。 我现在正在尝试找出使包含在其中的必要jar文件可供我的Web应用程序在我的机器上的eclipse中以及在我的机器以及最终的测试和生产服务器上的Tomcat中可用的最佳方法。

我开始只是将.jar文件复制到项目的WEB-INF / lib文件夹中。 这意味着将jar文件部署到Tomcat时,现在将在.war中导出。 但是,我不喜欢这样,因为jar文件来自JWSDP-2.0中的几个不同的库,并且像这样复制它们意味着将它们全部扔在一起,而不是很好地分离为JAXB,JAXP,SAAJ等。 ,存在一些名称冲突,例如,我的Web应用程序已经包含较旧的xml解析jar,例如xalan.jar,它们已经被该Web应用程序的不同部分使用。

然后,我删除了所有这些jar,并在eclipse中创建了一系列用户库,例如“ jwsdp-2.0_jaxp”,“ jwsdp-2.0_jaxb”,它们从WSDP-2.0安装中的位置引用了这些jar。 只要在eclipse中编译我的Web应用程序就可以正常工作,但是现在我需要使这些jars对Tomcat可用,而我在执行此操作的最佳方法上有些困惑。

因此,从根本上讲,我的问题是如何获取Tomcat中引用的jar文件?

更笼统地说,我正在寻找有关最佳实践的建议,以便在项目中引用和包含第三方jar,以期平滑地部署到服务器。

如果有人能推荐有关代码组织和部署的任何好的文章/书/资源,这将有助于我学习此类场景的最佳实践,那将是非常不错的

提前加油。

这里有几点:

  • 如果您的WAR文件中有JARS冲突,那么您就在找麻烦。 您应该理清您的应用程序需要哪些应用程序,并丢弃其余应用程序。 否则,您冒着tomcat加载“错误”类的风险。
  • JWSDP 2.0 旧,并且包含一个旧的JAXB预发行版本。 我强烈建议使用最新的JAXB JAR(来自http://jaxb.dev.java.net ),因为早期访问JAXB2会遇到很多问题。
  • 尽管使WEB-INF / lib具有结构化的目录布局可能会很好,但这并不重要,因为这是您的构建工件。 只要您从结构化存储库中采购JAR,您就不会感到需要在WAR中保留该结构。 Tomcat不在乎。 将名称全部放在一个目录中会导致名称冲突,这是警告您需要将名称冲突进行分类。

整理依赖项的最佳实践是使用maven来构建eclipse项目并对warmcat进行战争,并让他下载所需的所有依赖项:

https://jaxb.dev.java.net/jaxb-maven2-plugin/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM