是否可以从 Java 代码调用 Ant 或 NSIS 脚本?

2023-12-25

是否可以在运行时从 Java 代码以编程方式调用 Ant 或 NSIS 脚本?如果是这样,怎么办?


You can从 Java 代码调用 ant 脚本。

See 本文 http://ant.apache.org/manual/running.html(向下滚动到“通过 Java 运行 Ant”部分)并本文 http://www.ibm.com/developerworks/websphere/library/techarticles/0502_gawor/0502_gawor.html#sec2b:

   File buildFile = new File("build.xml");
   Project p = new Project();
   p.setUserProperty("ant.file", buildFile.getAbsolutePath());
   p.init();
   ProjectHelper helper = ProjectHelper.getProjectHelper();
   p.addReference("ant.projectHelper", helper);
   helper.parse(p, buildFile);
   p.executeTarget(p.getDefaultTarget());

Update

我尝试使用以下 ant 文件,它没有“告诉”任何内容(没有控制台输出),但它worked: 文件确实被移动了

   <project name="testproject" default="test" basedir=".">
      <target name="test">
        <move file="test.txt" tofile="test2.txt" />
      </target>
   </project>

当我再次尝试时(当没有test.txt移动(它已经移动)),我得到了一个java.io.FileNotFoundException.

我认为当您从 Java 运行某些东西时,这就是您所期望的。

如果您想要 ant 任务的控制台输出,您可能需要添加 Logger 作为构建侦听器。

来自@Perception的下面的回答。

   DefaultLogger consoleLogger = new DefaultLogger();
   consoleLogger.setErrorPrintStream(System.err);
   consoleLogger.setOutputPrintStream(System.out);
   consoleLogger.setMessageOutputLevel(Project.MSG_INFO);
   p.addBuildListener(consoleLogger);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以从 Java 代码调用 Ant 或 NSIS 脚本? 的相关文章

  • Oracle Java 教程 - 回答问题时可能出现错误

    我是 Java 新手 正在阅读 Oracle 教程 每个部分之后都有问题和答案 我不明白一个答案中的一句话 见下面的粗体线 来源是https docs oracle com javase tutorial java javaOO QandE
  • 如何强制jar使用(或jar运行的jvm)utf-8而不是系统的默认编码

    我的Windows默认编码是GBK 而我的Eclipse完全是utf 8编码 因此 在我的 Eclipse 中运行良好的应用程序崩溃了 因为导出为 jar 文件时这些单词变得不可读 我必须在 bat 文件中写入以下行才能运行该应用程序 st
  • (Java) App Engine 中的静态文件无法访问

    The 示例文档 http code google com appengine docs java gettingstarted staticfiles html表示您只需将文件放在 war 或子目录 中 并且应该可以从主机访问它们 只要它
  • Logback:SizeAndTimeBasedRollingPolicy 不遵守totalSizeCap

    我正在尝试以一种方式管理我的日志记录 一旦达到总累积大小限制或达到最大历史记录限制 我最旧的存档日志文件就会被删除 当使用SizeAndTimeBasedRollingPolicy在 Logback 1 1 7 中 滚动文件追加器将继续创建
  • 在 Struts 2 中传递 URL 参数而不使用查询字符串

    我想使用类似的 URL host ActionName 123 abc 而不是像这样传递查询字符串 host ActionName parm1 123 parm2 abc 我怎样才能在 Struts 2 中做到这一点 我按照下面的方法做了
  • Android 中 localTime 和 localDate 的替代类有哪些? [复制]

    这个问题在这里已经有答案了 我想使用从 android API 获得的长值 该值将日期返回为长值 表示为自纪元以来的毫秒数 我需要使用像 isBefore plusDays isAfter 这样的方法 Cursor managedCurso
  • 为自定义驱动程序创建 GraphicsDevice

    我正在开发一个在嵌入式系统中使用 Java 的项目 我有用于屏幕和触摸输入的驱动程序 以及用于文本输入的虚拟键盘 我的屏幕驱动程序有一个Graphics2D您可以绘制的对象和repaint Rectangle 更新方法 类似地 触摸驱动器能
  • 为什么 MOVE CURSOR 在 OS X Mountain Lion 上不显示?

    我正在做一个项目 想看看 Swing 提供的每个光标是什么样子的 public class Test public static void main String args JFrame frame new JFrame frame set
  • Spring数据中的本机查询连接

    我有课 Entity public class User Id Long id String name ManyToMany List
  • 为什么Iterator接口没有add方法

    In IteratorSun 添加了remove 方法来删 除集合中最后访问的元素 为什么没有add方法来向集合中添加新元素 它可能对集合或迭代器产生什么样的副作用 好的 我们开始吧 设计常见问题解答中明确给出了答案 为什么不提供 Iter
  • Java:从集合中获取第一项

    如果我有一个集合 例如Collection
  • 如何通过注解用try-catch包装方法?

    如果应该在方法调用中忽略异常 则可以编写以下内容 public void addEntryIfPresent String key Dto dto try Map
  • 如何删除日期对象的亚秒部分

    当 SQL 数据类型为时间戳时 java util Date 存储为 2010 09 03 15 33 22 246 如何在存储记录之前将亚秒设置为零 例如 在本例中为 246 最简单的方法是这样的 long time date getTi
  • 寻找局部最小值

    下面的代码正确地找到了数组的局部最大值 但未能找到局部最小值 我已经进行了网络搜索 以找到找到最小值的最佳方法 并且根据这些搜索 我认为我正在使用下面的正确方法 但是 在几天的时间里多次检查每一行之后 下面的代码中有一些我仍然没有看到的错误
  • 如何通过 Android 按钮单击运行单独的应用程序

    我尝试在 Android 应用程序中添加两个按钮 以从单独的两个应用程序订单系统和库存系统中选择一个应用程序 如图所示 我已将这两个应用程序实现为两个单独的 Android 项目 当我尝试运行此应用程序时 它会出现直到正确选择窗口 但是当按
  • 如何停止执行的 Jar 文件

    这感觉像是一个愚蠢的问题 但我似乎无法弄清楚 当我在 Windows 上运行 jar 文件时 它不会出现在任务管理器进程中 我怎样才能终止它 我已经尝试过 TASKKILL 但它对我也不起作用 On Linux ps ef grep jav
  • 我可以限制分布式应用程序发出的请求吗?

    我的应用程序发出 Web 服务请求 提供商处理的请求有最大速率 因此我需要限制它们 当应用程序在单个服务器上运行时 我曾经在应用程序级别执行此操作 一个对象跟踪到目前为止已发出的请求数量 并在当前请求超出允许的最大负载时等待 现在 我们正在
  • 如何让 Emma 或 Cobertura 与 Maven 一起报告其他模块中源代码的覆盖率?

    我有一个带有 Java 代码的多模块 Maven 设置 我的单元测试在其中一个模块中测试多个模块中的代码 当然 这些模块具有相互依赖性 并且在测试执行之前根据需要编译所有相关模块中的代码 那么 如何获得整个代码库覆盖率的报告 注意 我不是问
  • 如何处理 StaleElementReferenceException

    我正在为鼠标悬停工作 我想通过使用 for 循环单击每个链接来测试所有链接的工作条件 在我的程序中 迭代进行一次 而对于下一次迭代 它不起作用并显示 StaleElementReferenceException 如果需要 请修改代码 pub
  • 记录类名、方法名和行号的性能影响

    我正在我的 java 应用程序中实现日志记录 以便我可以调试应用程序投入生产后可能出现的潜在问题 考虑到在这种情况下 人们不会奢侈地使用 IDE 开发工具 以调试模式运行事物或单步执行完整代码 因此在每条消息中记录类名 方法名和行号将非常有

随机推荐

  • 如何正确取消闹钟应用程序中 AlarmManager 设置的 AlarmClock 闹钟?

    这个问题已经有答案了here https stackoverflow com q 16999343 5993712 here https stackoverflow com q 20159649 5993712 and here https
  • FragmentPagerAdapter 的第二个片段中的访问受限

    我有两个类似的onViewCreated结构片段 1st Override public void onViewCreated NonNull View view Nullable Bundle savedInstanceState sup
  • 数据更新后 Flutter listview 不更新

    我在 BottomSheet 中有一个 ListView 它是使用元素数组构建的 目前我有一项 空 然后 clear 在异步数据库调用后编辑并填充 变量更新是正确的 我尝试使用setState 但 ListView 根本没有更新 我需要关闭
  • 从 Kubernetes 日志中提取行

    我是 kubernetes 的新手 并且仍在尝试从几行中提取日志并写入它 如果有人可以帮助我应该执行哪些命令 如果 pod 名为 bino 并且我想提取与错误无法访问网站相对应的行 然后将它们写入某个位置 例如 John Doe bino
  • 签名时发生错误:找不到 SignTool.exe

    当我尝试更新我正在制作的项目时 我第一次看到错误 签名时发生错误 找不到 SignTool exe 我以前从未见过这个 所以我查了一下 SignTool exe 是为 ClickOnce 部署签署我的项目的东西 我还读到它是 Windows
  • 远程设备面板发生了什么变化?

    我正在运行 Chrome 80 在准备移动调试时 我观察到以下情况 该面板已迁移到其自己的选项卡 并且其功能已更改 我检查了变更日志 https developers google com web updates 2020 01 devto
  • 什么是? python pyodbc 模块中的意思

    import pyodbc cursor execute INSERT INTO Testing Param Seed Number Cycle Name VALUES 0 CoupleIn 是什么意思 代码中的意思是 当我尝试替换 s 代
  • Windows 10(通用 Windows 应用程序)数据验证

    我试图弄清楚如何在UWP下进行数据验证 但根据我发现的情况 基本上还没有什么可以实现的 因此 我尝试实现我的自定义验证逻辑 我现在遇到的问题是 我在一个上显示错误信息TextBlock而不是直接在特定的TextBox其中包含数据错误 这就是
  • 如何在 Swift3 中取消 DispatchQueue.main.asyncAfter(deadline: time) ? [复制]

    这个问题在这里已经有答案了 描述 我当前正在使用以下代码来查看用户是否已停止在搜索栏中输入内容 我想在每次用户立即开始输入后取消它0 5秒 Code DispatchQueue main asyncAfter deadline now 0
  • 如何简化 MouseListener 以便我没有所有这些未使用的方法?

    下面我有以下代码 这样当有人单击 关闭 时 窗口就会关闭 下面是同一菜单栏上的另一个退出按钮 只是为了冗余 稍后会更改为其他按钮 但要点如下 我的问题是 有什么办法可以让这件事变得更简单吗 我的意思是每个菜单都有四种未使用的方法 而且我还需
  • 在 C 中一次读取一行

    C 语言中可以使用哪种方法从文件中一次读取一行 我正在使用fgets功能 但不起作用 它仅读取空格分隔的标记 该怎么办 使用以下程序从文件中逐行获取 include
  • htaccess 在包含 HTTP 451 参数时“中断”

    对于我的网页 我有一个 htaccess文档看起来像这样
  • Python:读取临时文件时返回空字符串

    我需要从字符串创建一个文件 以便可以将其用作 Django 中电子邮件的附件 经过一番谷歌搜索后 我发现了带有 TemporaryFile 的临时文件模块 但它没有按我的预期工作 以下代码返回一个空字符串 gt gt gt f tempfi
  • 我如何将数据传递到我的 SQLite 数据库中

    你好 我对编程很陌生 我最近启动了一个 IONIC 应用程序 然而我被卡住了 我想做一些类似电话簿的东西 你可以在其中获取随机的 JSON 联系人并将它们保存到你的 sqlite 数据库中 我懂了 import Storage from i
  • 如何列出包括点文件但不包括 .和 ..?

    如何得到Dir 包括点文件 例如 gitignore 但不是 and 即 有没有更好的方法可以做到 ls A split n 也许与Dir 以下解决方案很接近 但都包括 Dir glob File FNM DOTMATCH Dir 因此 以
  • 这些在 jQuery 选择器中转义方括号的不同方法有什么区别

    有什么不同在这些不同的方法之间转义 jQuery 选择器中的方括号 有正确或错误的方法 还是这两种方法都正确 我读过不同的答案 包括this https stackoverflow com questions 1466103 jquery
  • 我想知道为什么我的playerIMG无法在pygame中加载

    下面是我的代码 这是我的第一个 pygame 项目 任何帮助将不胜感激 我认为这与 def 玩家 玩家 玩家 pygame display update 代码块 尽管当我使用它时 有时它甚至不会显示我的背景对象 而只显示屏幕填充黑色 imp
  • CSS:Em 舍入误差

    最近 我重写了我正在制作的网站的 CSS 文件 并尝试使用 em 而不是 px 使大多数元素和字体的大小动态化 尺寸可以工作 有点 但至少有一个问题 当使用 em 单位作为盒子的边距 边距 0 25em 时 在 Firefox 中 我在顶部
  • 从 iPhone 模拟器获取图像

    我刚刚创建了一个图像并将其保存在 iPhone 模拟器手机库中 我想查看此图像 不是来自照片库 以从文档资源查看其属性 但我无法访问照片库的内容 Thanks Pankaj 对于 Xcode 6 模拟器图像文件现在位于 Library De
  • 是否可以从 Java 代码调用 Ant 或 NSIS 脚本?

    是否可以在运行时从 Java 代码以编程方式调用 Ant 或 NSIS 脚本 如果是这样 怎么办 You can从 Java 代码调用 ant 脚本 See 本文 http ant apache org manual running htm