【问题标题】:Remove/Add jar to all projects in eclipse workspace将 jar 删除/添加到 Eclipse 工作区中的所有项目
【发布时间】:2015-12-26 20:05:16
【问题描述】:

我最近升级了一个我正在开发的框架,其中一个旧安装的 jar 已升级到新版本(即 jar 的名称不同)。

我工作区中的所有(200 多个)项目都依赖于这个 jar,因此现在显示以下两个错误:

  1. “项目 'Blah' 缺少必需的库”
  2. “在解决构建路径错误之前无法构建项目”

我需要花费大量时间来修改工作区中每个项目的构建路径,首先删除不正确的 jar,然后添加新的。

有没有办法一次性向所有(或一组)项目添加/删除 jar?

This question 说明了使用库添加 jar - 我可以继续使用但不能解决我当前的问题。

我正在运行 Eclipse Mars 4.5.0

【问题讨论】:

  • 试过这个吗? Window - Preferences - Java - Build Path - User Libraries
  • @Lucky 可以解决 add 问题,但 OP 仍然需要从所有项目中删除旧 jar
  • @Lucky - Cinnam 是对的。我需要删除旧的参考。即使我确实创建了一个新的用户库,我也不知道是否有办法将该库一次性添加到所有现有项目中。有吗?
  • @ferekdoley 我没有尝试过,但我猜你总是可以编辑 JRE 定义(如链接中接受的答案中所述)。这应该适用于所有使用该 JRE 的项目,尽管它可能不是最干净的解决方案。
  • @Cinnam - 是的,我有点不情愿修改 JRE 定义,因为这似乎有点 hacky。对于未来的项目,我将使用用户库来避免同样的问题。

标签: java eclipse jar buildpath


【解决方案1】:

是的,有办法。创建一个通用项目来保存所有项目使用的所有通用库(将其称为 test1)。创建一个文件夹 lib 并在此处复制所有库。右键单击该项目的属性,将所有这些库添加到构建路径。


让所有项目都依赖于这个项目。怎么样?

每个项目的文件夹中都有一个名为 .classpath 的文件。我们需要对其进行调整。

Ctrl + H

在“包含文本”文本框中输入“”。

选中“正则表达式”按钮。

在“文件名模式”文本框中输入“.classpath”

点击搜索按钮。

在 Scope 中选择“工作区”。

搜索视图中将显示所有文件。在搜索视图菜单中选择“显示为列表”选项。

现在在 CtrlShift 键的帮助下,您可以轻松地选择/取消选择许多项目。选择您希望使其依赖于 test1 的所有项目。

右键单击并选择“替换选定项”。 如下图输入数据

注意: 这里我选择Java项目。如果是其他项目类型,您需要通过使用 UI 添加依赖项来查找要替换的字符串。


就是这样,您可以在 test1 项目中添加和删除常用库。但是在导出项目时要小心。我还没有测试它,但希望它在导出后也能工作。如果它不起作用,请告诉我。

【讨论】:

    【解决方案2】:

    在 Chandrayya G K 的回答后面,我找到了一个简单的解决方案来解决我的问题,不涉及创建额外的项目等 - 只需在类路径中查找并替换对 jar 的引用。

    在 Eclipse 中按 Ctrl+H 以调出搜索窗口。

    单击文件搜索选项卡

    在“包含文本:”字段中输入引用旧 jar 的 classpathentry 标记。这可以在任何 Eclipse 项目中的 .classpath 文件中找到。我的看起来像这样:

    <classpathentry kind="lib" path="C:/myjars/old-jar.jar"/>
    

    然后您可以在“文件名模式”字段中指定 .classpath 以将搜索限制为类路径文件。

    将“范围”限制在整个工作区。

    点击替换

    在“替换”窗口中输入指向新 jar 的类路径条目标记。

    点击确定。

    *如果您没有需要替换的旧 jar,您可以将结尾的 &lt;/classpath&gt; 标记替换为 &lt;classpathentry kind="lib" path="C:/myjars/new-jar.jar"/&gt; &lt;/classpath&gt; 以插入对新 jar 的引用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-24
      • 1970-01-01
      • 2012-01-22
      相关资源
      最近更新 更多