【发布时间】:2011-10-16 21:38:07
【问题描述】:
我使用 Netbeans 7 创建了一个 JSF2 项目,并成功地将其部署在 Glassfish 3.1 上。 不过,ear 文件已经变得相当大(6.5mb),其中大部分由外部 jar 文件(如 apache commons、solrj、primefaces 和 pdfrenderer 等)组成,这些文件被复制到相应的 war/ejb 文件中。
我的问题是:我怎样才能避免这种情况并让我的 ear 文件更小 - 它应该只包含我创建的东西,外部库应该只在服务器上部署一次。
我在网上搜索了这个问题的答案,我唯一发现的是将外部 jar 文件放在 glassfish 安装目录中的“domains/domain1/lib”或“domains/domain1/lib/ext”下并取消选中“ Netbeans 项目库设置中的 Package' 标志,但到目前为止这些都不起作用(我总是得到 ClassNotFoundExceptions)。
我是否必须做其他事情,在某处调整类路径设置,或者我该如何实现?有人有解决办法吗?
更新:好的,我发现这只发生在我本地安装的带有 Netbeans 的 Glassfish 上(它是一台运行 64 位 Windows 7 的笔记本电脑)。在我的远程 Linux 机器上,它按预期工作,即我能够将所有外部库放入 'domains/domain1/lib' - 我的 ear 文件现在只有 ~700k :) 我将在我的 Mac 和另一个 Windows 7 机器上尝试这个,看看这是与操作系统相关的问题还是其他问题。
【问题讨论】:
-
作为参考,这里已经回答了一个类似的问题:stackoverflow.com/questions/12219788/…
标签: jakarta-ee netbeans glassfish external