Java eclipse项目的JAR文件文件夹

Java eclipse项目的JAR文件文件夹,java,eclipse,tomcat,jar,Java,Eclipse,Tomcat,Jar,我正在尝试为这个工作区中引用的项目的常用JAR文件创建一个集中的文件夹(在eclipse工作区中的某种“元项目”中)。它的工作原理应该类似于WEB项目的WEB-INF/lib文件夹,但也适用于非WEB项目,并自动扫描和添加此文件夹中的所有jar文件 我试图用这些jar文件创建一个用户库,并在项目中引用它们,但我仍然必须手动将每个新jar添加到用户库中(并且不知道它是否是相对于Absolute引用的),Tomcat(WTP)似乎没有将这些文件(运行方式->在服务器上运行)放入其类路径中(我不想复制

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


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

我建议不要这样做,当你有很多项目具有重叠的依赖项时,这会成为一个麻烦

如果ProjectX使用commons-logging-1.0,但有人创建了真正需要commons-logging-1.1的ProjectZ,该怎么办?是否希望您的中心文件夹为每个可能的版本号提供相同JAR的副本


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

我认为您应该认真研究一下Maven。您只需声明每个项目所依赖的“工件”,Maven将负责从存储库中获取JAR,将其添加到构建类路径,并将其包含在WAR文件中。如果您想批量构建,则无需创建Ant“Buff.xml”文件:只需从命令文件中运行“MVN”。

< P>我会考虑用IVD扩展到Ant来管理这些东西,这有利于Maven兼容,如果你想那样做的话。 把所有的东西都堆起来最终会给你带来问题,因为当你突然有两个项目时,你会遇到版本问题,其中一个项目使用创建时可用的版本,另一个项目使用修复错误的版本,并且这些版本不是100%兼容的。

+1对于常春藤

如果您更愿意在Eclipse中的一个单独项目中执行此操作:


您将“公共项目”添加为其他项目的依赖项(Java构建路径->项目,然后添加)。但是,您是否导出了“公共项目”的JAR?(在公共项目中:Java构建路径->订单和导出,然后检查所有JAR).

我的同事实现了一个类路径容器,它递归地查找工作区中给定目录中的JAR,请看

更新站点可在以下位置找到:


该插件是在LGPL V3上获得许可的,您可以在

er下找到源代码……您不应该使用Tomcat处理WAR文件吗?这些文件总是使用上面提到的WEB=INF/lib。这并不能解决第一个问题,即对于非WEB项目,具有与WEB-INF/lib文件夹相同的功能。我部署并运行WEB项目直接从eclipse(因此我只想在运行配置中将我的general JAR文件夹添加到Tomcat类路径中,但它似乎不起作用)+1在项目设置中导出JAR比用户库工作得好得多,特别是因为您可以将这些设置置于版本控制之下,这在用户libs中是不可能的。+1在我看来,导出JAR是您缺少的一点库,这看起来比用户库好得多,并且工作得很好。仍然需要使用Tomcat我正在使用这些库,但我希望它能起作用。不过我肯定会看看Maven和/或Ivy。希望我能说服其他团队成员不要使用它。