小编fre*_*all的帖子

您如何确保在Eclipse Galileo的最终EAR中打包Utility Projects库依赖项?

我有一个'公用事业项目'和一个包含'公用事业项目'的'EAR项目'."实用程序项目"中的所有类最终都打包为JAR并放置在导出的EAR的"lib"目录中,例如:

  EAR.ear
    META-INF
      MANIFEST.MF
    lib
      utility.jar (which expands to):
        META-INF
          MANIFEST.MF
        com
          acme
            Foo.class
            Bar.class
Run Code Online (Sandbox Code Playgroud)

但是,"Utility Project"依赖于使用"Properties> Java Build Path> Libraries"添加到构建路径的库(freemarker.jar).我想要做的就是将freemarker.jar添加到EAR中,如下所示:

  EAR.ear
    META-INF
      MANIFEST.MF
    lib
      **freemarker.jar**
      utility.jar (which expands to):
        META-INF
          MANIFEST.MF
        com
          acme
            Foo.class
            Bar.class
Run Code Online (Sandbox Code Playgroud)

通过在Eclipse中搜索,我发现了4种实现这一目标的潜在途径,但没有一种方法可行.如果有人能够切入追逐并告诉我应该做些什么,那就太好了.但为了以防万一,我会在这里迭代它们:

来自'Utility Project'属性:

  1. 如果我单击"Java Build Path> Order and Export"并选择"freemarker.jar"进行导出,则jar根本不会在EAR文件中结束.
  2. 如果我单击"Java EE Module Dependencies"并选择"freemarker.jar"库作为依赖项,它会说:

这个JAR是一个EAR项目的捆绑库,应该打包在EAR的库目录中.它与您尝试创建的清单类路径依赖项冲突.如果创建此依赖项,则JAR将打包在EAR的根目录(而不是库)中.你确定要继续吗?

来自'EAR项目'属性:

  1. 如果我单击"Java EE模块依赖项>添加JAR ..."并导航到"freemarker.jar",并使其成为依赖项,它将被添加到EAR的根目录:/freemarker.jar
  2. 如果我执行与上面相同的操作,但检查'In Lib Dir'复选框,它会被添加到lib文件夹中,但包含在另一个lib文件夹中:/ll/lib/freemarker.jar

谢谢.

eclipse ear utility

2
推荐指数
1
解决办法
7761
查看次数

标签 统计

ear ×1

eclipse ×1

utility ×1