如何从 Ant 构建文件设置 Eclipse 构建路径和类路径?

2024-05-07

关于 Ant 和 Eclipse 有很多讨论,但之前的答案似乎对我没有帮助。

事情是这样的:我正在尝试构建一个可以从命令行使用 Ant 成功编译的 Java 程序。 (更令人困惑的是,我尝试编译的程序是 Ant 本身。)

我真正想做的是将这个项目引入 Eclipse 并在 Eclipse 中进行编译,以便正确解析类型绑定和变量绑定(来自 Eclipse JDT 的术语)。我需要这个,因为我需要对构建在 Eclipse JDT 之上的代码运行静态分析。我将 Java 项目引入 Eclipse 以便 Eclipse 构建它并解析所有绑定的正常方法是将源目录导入到 Java 项目中,然后告诉它使用 src/main/ 目录作为“源目录” ”。

不幸的是,使用 Ant 执行此操作会导致构建失败并出现大量编译错误。在我看来,Ant 构建文件正在正确设置类路径和构建路径(可能通过排除某些源文件),而 Eclipse 没有此信息。

有没有办法获取嵌入在 Ant 构建文件中的类路径和构建路径信息,并将该信息提供给 Eclipse 以放入其 .project 和 .classpath 文件中?我尝试过从现有的构建文件(文件菜单中的选项)创建一个新项目,但这没有帮助。该项目仍然存在相同的编译错误。

谢谢, 内尔斯


我从来没有找到一种真正干净的方法来做到这一点,但一种“hackish”方法是操纵 eclipse 使用的 .classpath 文件(其中包含构建路径)。

所以 .classpath 中将包含如下内容:

<classpathentry kind="lib" path="C:/jboss-4.2.3.GA/client/jboss-system-client.jar"/>

例如,您可以编写某种批处理脚本等,它将读取您的 ant 文件依赖项并将它们放入 eclipse .classpath 文件中(当然,以正确的格式)。

但就我个人而言,我从不愚弄这些事情。我所做的只是将我的项目需要的所有 jar 放在一个文件夹中,然后在我的 ant 文件中设置如下路径:

<path id="all_libs">
    <fileset dir="test_reflib">
        <include name="**/*.jar"/>
    </fileset>
</path>

test_reflib 只需要定义到包含所有 jar 的文件夹所在的位置。

然后,在 eclipse 端,您只需执行“添加 jars”并导航到同一文件夹,然后选择所有 jars。更酷的是,任何时候您将新的 jar 放入此文件夹中,只需单击 eclipse 项目中的根级别并执行“刷新”,然后编辑构建路径并再次单击“添加 jar”,它只会显示 jar您还没有添加到构建路径(即您刚刚放入文件夹中的新 jar)。

如果您在中心位置共享 jars,这显然效果不太好,但对于较小的项目来说它非常有效,您可以将所有 jars 复制到项目的集中文件夹中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 Ant 构建文件设置 Eclipse 构建路径和类路径? 的相关文章

  • 如何将 Java 赋值表达式转换为 Kotlin

    java中的一些东西就像 int a 1 b 2 c 1 if a b c System out print true 现在它应该转换为 kotlin 就像 var a Int 1 var b Int 2 var c Int 1 if a
  • 如何在一行中将字符串数组转换为双精度数组

    我有一个字符串数组 String guaranteedOutput Arrays copyOf values values length String class 所有字符串值都是数字 数据应转换为Double QuestionJava 中
  • ElasticBeanstalk Java,Spring 活动配置文件

    我正在尝试通过 AWS ElasticBeanstalk 启动 spring boot jar 一切正常 配置文件为 默认 有谁知道如何为 java ElasticBeanstalk 应用程序 不是 tomcat 设置活动配置文件 spri
  • 在Windows上安装Java 11 OpenJDK(系统路径问题)

    Java 11 最近发布了 众所周知 这个版本没有安装文件 当然 要在没有安装程序的情况下安装 Java 我将系统设置 PATH 和 JAVA HOME 设置为解压缩 Java 11 的文件夹的地址 根据对类似问题的已接受回复建议 唯一的事
  • 线程自动利用多个CPU核心?

    假设我的应用程序运行 2 个线程 例如渲染线程和游戏更新线程 如果它在具有多核 CPU 当今典型 的移动设备上运行 我是否可以期望线程在可能的情况下自动分配给不同的核心 我知道底层操作系统内核 Android linux内核 决定调度 我的
  • JNI 不满意链接错误

    我想创建一个简单的 JNI 层 我使用Visual studio 2008创建了一个dll Win 32控制台应用程序项目类型 带有DLL作为选项 当我调用本机方法时 出现此异常 Exception occurred during even
  • 如何查找 Android 设备中的所有文件并将它们放入列表中?

    我正在寻求帮助来列出 Android 外部存储设备中的所有文件 我想查找所有文件夹 包括主文件夹的子文件夹 有办法吗 我已经做了一个基本的工作 但我仍然没有得到想要的结果 这不起作用 这是我的代码 File files array file
  • CXF Swagger2功能添加安全定义

    我想使用 org apache cxf jaxrs swagger Swagger2Feature 将安全定义添加到我的其余服务中 但是我看不到任何相关方法或任何有关如何执行此操作的资源 下面是我想使用 swagger2feature 生成
  • java.io.IOException: %1 不是有效的 Win32 应用程序

    我正在尝试对 XML 文档进行数字签名 为此我有两个选择 有一个由爱沙尼亚认证中心为程序员创建的库 还有一个由银行制作的运行 Java 代码的脚本 如果使用官方 认证中心 库 那么一切都会像魅力一样进行一些调整 但是当涉及到银行脚本时 它会
  • Java 页面爬行和解析之 Crawler4j 与 Jsoup

    我想获取页面的内容并提取其中的特定部分 据我所知 此类任务至少有两种解决方案 爬虫4j https github com yasserg crawler4j and Jsoup http jsoup org 它们都能够检索页面的内容并提取其
  • Microsoft Graph 身份验证 - 委派权限

    我可以使用 Microsoft Graph 访问资源无需用户即可访问 https developer microsoft com en us graph docs concepts auth v2 service 但是 此方法不允许我访问需
  • 如何将文件透明地传输到浏览器?

    受控环境 IE8 IIS 7 ColdFusion 当从 IE 发出指向媒体文件 例如 mp3 mpeg 等 的 GET 请求时 浏览器将启动关联的应用程序 Window Media Player 我猜测 IIS 提供文件的方式允许应用程序
  • 制作java包

    我的 Java 类组织变得有点混乱 所以我要回顾一下我在 Java 学习中跳过的东西 类路径 我无法安静地将心爱的类编译到我为它们创建的包中 这是我的文件夹层次结构 com david Greet java greeter SayHello
  • 检查 protobuf 消息 - 如何按名称获取字段值?

    我似乎无法找到一种方法来验证 protobuf 消息中字段的值 而无需显式调用其 getter 我看到周围的例子使用Descriptors FieldDescriptor实例到达消息映射内部 但它们要么基于迭代器 要么由字段号驱动 一旦我有
  • 如何在 Eclipse 下载站点上查找哪些功能包含所需的插件

    在针对目标平台开发 RCP 应用程序时 我 和别的 https stackoverflow com questions 10001143 eclipse rcp target platform bundle org eclipse ui v
  • Windows 上的 Nifi 命令

    在我当前的项目中 我一直在Windows操作系统上使用apache nifi 我已经提取了nifi 0 7 0 bin zip文件输入C 现在 当我跑步时 bin run nifi bat as 管理员我在命令行上看到以下消息 但无法运行
  • Springs 元素“beans”不能具有字符 [children],因为该类型的内容类型是仅元素

    我在 stackoverflow 中搜索了一些页面来解决这个问题 确实遵循了一些正确的答案 但不起作用 我是春天的新人 对不起 这是我的调度程序 servlet
  • android Accessibility-service 突然停止触发事件

    我有一个 AccessibilityService 工作正常 但由于开发过程中的某些原因它停止工作 我似乎找不到这个原因 请看一下我的代码并告诉我为什么它不起作用 public class MyServicee extends Access
  • 中断连接套接字

    我有一个 GUI 其中包含要连接的服务器列表 如果用户单击服务器 则会连接到该服务器 如果用户单击第二个服务器 它将断开第一个服务器的连接并连接到第二个服务器 每个新连接都在一个新线程中运行 以便程序可以执行其他任务 但是 如果用户在第一个
  • javax.persistence.Table.indexes()[Ljavax/persistence/Index 中的 NoSuchMethodError

    我有一个 Play Framework 应用程序 并且我was使用 Hibernate 4 2 5 Final 通过 Maven 依赖项管理器检索 我决定升级到 Hibernate 4 3 0 Final 成功重新编译我的应用程序并运行它

随机推荐

  • Android,java - 无法从 asynctask 更新变量

    这是代码 声明的变量 public String gpu2dcurent 1234567 Asynctask 完成后应该更新变量 gpu2dcurent 但它没有 private class readgpu2d extends AsyncT
  • app-localize-behavior 和共享本地化缓存

    根据聚合物文档应用程序本地化行为 https www polymer project org 1 0 toolbox localize 每个显示要本地化内容的元素都应添加 Polymer AppLocalizeBehavior 所有这些元素
  • 想要在 highcharts/highstock 中用鼠标滚轮移动 y 轴滚动条

    参考我想用鼠标滚轮移动 y 轴滚动条的问题 有什么办法可以做到吗 yAxis scrollbar enabled true showFull false 更新代码 下面是我更新的代码 var chart1 new Highcharts Ch
  • 如何从脚本向 sudo 提供密码?

    请注意 这是在我的本地计算机上运行的来宾虚拟机 VBox 我不担心安全性 我正在编写一个将在 Linux Ubuntu VM 上执行的脚本myuser用户 该脚本将在下面创建一个非常大的目录树 etc myapp 目前我必须手动完成所有这些
  • Telegram编译过程:没有规则来制作目标'/usr/lib/libicutu.a'

    我正在关注 Telegram 的编译过程here https github com telegramdesktop tdesktop blob master doc building cmake md在最后一步编译应用程序本身时 它给了我这
  • 谷歌放置片段上的Java空指针异常

    当我尝试尝试自动完成位置功能时 出现空指针异常 我像文档中一样添加了片段 并需要帮助来解决这个问题 谢谢 主要活动 package com example srinivas mapautocompletetest1 import andro
  • grunt:如何生成 HTML 形式的 jshint 输出

    我正在尝试使用 grunt 运行 jshint 这可行 但现在我希望输出为 HTML 这是我的 grunt 文件 module exports function grunt Project configuration grunt initC
  • 如何使用托管标识为逻辑应用程序创建与 Azure KeyVault 的 Api 连接

    Scenario 你好 我想创建Logic App从中得到秘密Azure KeyVault并将经过身份验证的请求发送到 API 并使用保管库中的秘密 Problem 我收到 The workflow connection parameter
  • JavaScript - 离焦事件?

    我想要做的是显示带有文本颜色的输入字段black 然后 当该人在输入字段内单击时 onfocus 我想将文本颜色更改为red 然后 当该人单击输入字段外部 不再焦点 时 我想将文本颜色更改回black 我知道如何处理 JavaScripto
  • jQuery ajax 调用在 Mac Safari 和 Chrome 浏览器上返回空错误

    我几天来一直在寻找解决方案并尝试修复 但没有任何改变 老板使用的是 Mac 而我没有 所以我让他尝试重复修复并将输出转发给我 到目前为止还没有运气 因此 当前的设置是 我有一个包含用户名和密码输入的表单 该表单在经过验证后提交 验证是一个
  • 一旦玩家与矩形对象发生碰撞,如何从屏幕上删除它?

    in draw 函数 我试图在玩家 pos 敌人 pos 时删除矩形对象 但 del 不起作用 有什么办法可以彻底删除敌人的物体吗 是否有内置的 pygame 函数可以删除我不知道的对象 draw player def draw enemy
  • Python从更高级别的包导入模块

    这是我的包层次结构 app init py Empty file server py global vars py handlers init py Empty file url1 init py Empty file app1 py ap
  • 在 C# 中实现记忆化 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我知道这个话题 记忆 已经被讨论了很多 比如here https stackoverflow com questions 285216
  • Python:定义多个相同类型的变量?

    可能是重复的 但至少我无法通过搜索这些术语找到答案 在Python中有没有更快的方法来做到这一点 level1 level2 level3 我试过了 level1 level2 level3 但这似乎创建了该对象的副本 这不是我想要的 和
  • CSS:最后一个子元素的高度应基于前一个兄弟元素,但不能溢出父元素

    相关 JS Fiddlehttp jsfiddle net arosen FMQtR http jsfiddle net arosen FMQtR Problem 我的 HTML 看起来像这样 div div A variable amou
  • 黄瓜和 Rspec

    任何人都可以向我推荐黄瓜和 rspec 教程 rails 3 的好来源 简单示例 吗 Edit 实际上我正在寻找带有很好示例的免费在线资源 我觉得R规格书 http www pragprog com titles achbd the rsp
  • 从纪元到相对日期的秒数

    我正在处理自纪元以来的日期 并且已经得到了 例如 date 6928727 56235 我想将其转换为另一种相对格式 以便我能够将其转换为与纪元相关的格式 使用 time gmtime date 它返回 year 1970 mon 3 da
  • 如何从PathName获取Project Guid和Model Guid?

    我的 Revit 模型有一个 RVT 链接 路径名称 BIM 360 BIM360 ArchitectureBIM360 rvt 中的测试链接编辑 我想构建一个 ModelPath 并使用它来打开云托管文件 如下所示 ModelPath m
  • 类方法的自定义代码完成?

    在 MATLAB 中 可以定义代码建议和完成 如标题为 的文档页面中所述 自定义代码建议和完成 https www mathworks com help matlab matlab prog customize code suggestio
  • 如何从 Ant 构建文件设置 Eclipse 构建路径和类路径?

    关于 Ant 和 Eclipse 有很多讨论 但之前的答案似乎对我没有帮助 事情是这样的 我正在尝试构建一个可以从命令行使用 Ant 成功编译的 Java 程序 更令人困惑的是 我尝试编译的程序是 Ant 本身 我真正想做的是将这个项目引入