Eclipse覆盖了我在MANIFEST.MF

时间:2015-10-19 19:49:36

标签: java eclipse dependencies wildfly manifest.mf

我正在使用Eclipse Luna和WildFly 8.2.1。

在WildFly中,jTDS JDBC驱动程序作为模块安装。该模块的名称为 net.sourceforge.jtds

我有一个使用XDoclet的企业应用程序(使用EJB 2.1),这是以这种方式部署的:

  • AppEar.ear(Eclipse中的企业应用程序项目)
    • AppEjb.jar(Eclipse中的EJB项目)
    • AppEjbClient.jar(Eclipse中的EJB客户端项目)
    • AppWeb.war(Eclipse中的动态Web项目)
    • LIB
      • AppSrc.jar(Eclipse中的Java EE实用程序项目)

AppSrc.jar需要 net.sourceforge.jtds 模块才能运行。所以我在META-INF文件夹中打开它的MAINFEST.MF文件,并以这种方式手动添加依赖项:
Dependencies: net.sourceforge.jtds

这就是MAINFEST.MF文件在Eclipse中的样子:

Manifest-Version: 1.0 
Class-Path: ../AppEjbClient.jar 
Dependencies: net.sourceforge.jtds

现在,AppSrc.jar还需要一些我在AppSrc项目的Deployment Assembly页面中添加的第三方jar。

当我执行Build All并部署到WildFly时,我看到Eclipse通过包含第三方jar来覆盖MAINFEST.MF文件。这就是MAINFEST.MF文件在AppSr.jar中的显示方式:

Manifest-Version: 1.0
Class-Path: ../AppEjbClient.jar commons-collections-3.2.jar common
 s-lang-2.3.jar commons-logging-1.1.jar richfaces-api-3.3.3.Final.jar 
 richfaces-impl-3.3.3.Final.jar richfaces-impl-jsf2-3.3.3.Final.jar ri
 chfaces-ui-3.3.3.Final.jar

因此,部署程序集已覆盖了Dependencies行。

如何在Eclipse中添加依赖项以便Eclipse不会覆盖它?

由于

0 个答案:

没有答案