我有一个'Utilty Project'和一个包含'Utility Project'的'EAR Project'。一切从“实用工具项目”结束了类被包装成一个JAR并放置在导出的EAR的“LIB”目录中,例如:如何确保在Eclipse Galileo的最终EAR中包含Utility Projects库依赖项?
EAR.ear
META-INF
MANIFEST.MF
lib
utility.jar (which expands to):
META-INF
MANIFEST.MF
com
acme
Foo.class
Bar.class
然而,“工具项目”依赖于库(freemarker.jar),它已经使用'Properties> Java Build Path> Libraries'添加到构建路径中。所有我想要做的是让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
通过我找到了4种潜在的途径实现这一目标,没有一个是有工作在Eclipse中摸索。如果有人能够开始追逐并告诉我我应该怎么做,那会很棒。但是为了以防万一,我会在这里迭代他们:
从“实用工具项目”属性:
- 如果我点击“Java构建路径>排序和导出”,然后选择“freemarker.jar '用于导出,jar完全不在EAR文件中。
- 如果我点击“的Java EE模块依赖”,然后选择“freemarker.jar”库作为依赖,它说:
这罐是一个 EAR项目的捆绑库,应该在EAR的库目录中打包为 。 它与您正在尝试创建的清单类 路径依赖关系冲突 。如果创建此依赖关系,则JAR将打包在EAR的根目录 (不是库)中。 您确定要继续吗?
从 'EAR项目' 属性:
- 如果我点击 '的Java EE模块依赖>添加JAR文件...',然后导航到“的freemarker .jar',并使其成为依赖项,它将被添加到EAR的根目录中: /freemarker.jar
- 如果我按照上述步骤操作,但选中'In Lib Dir'复选框,它会被添加到lib文件夹,但包含在另一个lib文件夹中: /lib/lib/freemarker.jar
谢谢。
如果有一些完全不同的方式将JAR放入EAR项目库目录中,而不涉及从依赖项目获取它,那对我来说也是很好的。我只需要一个解决方案:-) – freemarshall 2010-04-27 21:51:38