2009-07-28 57 views
4

我正尝试在此工作空间中为引用项目的常用JAR文件创建一个集中文件夹(在我的eclipse工作区中的某种“元项目”中)。它应该类似于Web项目的WEB-INF/lib文件夹,但也适用于非web项目,并自动扫描并在此文件夹中添加所有jar文件。用于eclipse项目的JAR文件文件夹

我试图用这些jar文件创建一个用户库,并在项目中引用它们,但我仍然需要手动将每个新jar添加到用户库(并且不知道它是否是absoulute的相对引用)以及Tomcat(WTP)似乎并没有将这些文件(运行方式 - >在服务器上运行)放入其类路径中(我不想复制这些jar并将它们放入WEB-INF/lib中)。有任何想法吗?

+0

呃...你不应该用Tomcat处理WAR文件吗?那些总是使用上面提到的WEB = INF/lib。 – Powerlord 2009-07-28 13:36:12

+0

这并不能解决非WEB项目具有相同WEB-INF/lib文件夹功能的第一个问题。我直接从eclipse部署和运行Web项目(所以我只是想以某种方式将我的常规JAR文件文件夹添加到运行配置中的Tomcat类路径中,但似乎不起作用) – Daff 2009-07-28 13:40:01

回答

6

+1为常春藤。

如果你宁愿做它在Eclipse中分离项目:

您加入“共同项目”作为对其他项目的依赖(Java构建路径 - >项目,然后添加)。但是,你有没有出口'共同项目'的罐子? (在通用项目中:Java构建路径 - >订单和导出,然后检查所有罐子)。

3

我建议不要这样,当你有很多项目有重叠的依赖时,它会变成一个痛苦的屁股。

如果Project X使用commons-logging-1.0,但是有人创建了Project Z,那真的需要commons-logging-1.1呢?你想让你的中央文件夹为每个可能的版本号都有相同JAR的副本吗?

使用像Maven或Ivy这样的构建工具,它将为您下载并处理相关的JAR。 maven-eclipse插件在为Eclipse生成.project/.classpath文件方面做得相当不错,它将自动将所有依赖的JAR放在构建路径上,而m2eclipse也擅长处理来自Eclipse内部的依赖关系。

1

我认为你应该认真看待Maven。您只需声明每个项目所依赖的“工件”,Maven将负责从存储库中提取JAR,将它们添加到构建类路径中,并将它们包含在WAR文件中。如果你想批量生成,你不​​需要创建一个Ant“build.xml”文件:只需从命令文件运行“mvn”即可。

1

我会考虑用Ivy extension扩展到Ant来管理这些东西,如果你想要这样做的话,它有Maven兼容的好处。

将所有东西都扔进一大堆会最终给你带来问题,因为当你突然有两个项目,一个使用可用版本创建THAT时,你会遇到版本问题,另一个是错误版本,和那些不是100%兼容的。

相关问题