是否可以在运行时从Java代码以编程方式调用Ant或NSIS脚本?如果是这样,怎么办?
您 可以 从Java代码调用ant脚本。
请参阅本文(向下滚动至“通过Java运行Ant”部分)和本文:
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());
更新资料
我尝试使用以下ant文件,它没有“告诉”任何内容(没有控制台输出),但是它 起作用了 :该文件确实被移动了
<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);
问题内容: 是否可以从Java调用COM API(特别是HP / Mercury Quality Center OTA API)?如果是这样,最好的方法是什么? 像JACOB一样合适吗? 代码片段对于基础知识会有所帮助:-) 问题答案: jacob:是的,http://sourceforge.net/projects/jacob- project/ 是一个活跃的项目,可以很好地满足您的目的。 您可
问题内容: 现在我有了一些C源代码,我想在我的Java应用程序中使用它。我需要执行C源代码,并将结果返回到我的Java应用程序。与其将所有C源代码重写为Java,我如何在Java应用程序中重用C源代码? 问题答案: 看一下Java Native Interface 。 Java本机接口(JNI)是一种编程框架,它使Java虚拟机(JVM)中运行的Java代码能够被本机应用程序(特定于硬件和操作系统
问题内容: 对于我的调试需求,还算不错。但是,如果可以的 话 ,它会更酷(并且很有帮助)。这可能吗? 问题答案: 有一个项目将iPython嵌入到标准pdb中,因此您可以执行以下操作: 可通过通常的方式安装。 非常短,因此除了easy_installing之外,您还可以在Python路径上的某个位置创建一个文件,并将以下内容粘贴到该文件中:
问题内容: 我想抢先获取要在中加载的网页的HTML代码,使用正则表达式解析它,并仅显示所需的HTML代码,同时让该网页仍然认为它已加载了所有内容。 有什么方法可以通过或类似方法来做到这一点? 编辑:我尝试过此: 该接口永远不会被调用 问题答案: 不得不使用HttpClient。无需Cookie,只需解析html:
问题内容: 我知道Java代码可以通过JNI调用C 代码。但是,是否可以通过JNI或其他方法再次从C 调用Java代码? 问题答案: 是的,您当然可以。这是一个例子: 这是java文件: 还有一些使用它的C ++:
问题内容: 我有一个Java类,需要对其进行调试(输入断点并继续使用F6)。我正在使用ANT脚本来初始化,构建,部署和运行代码。我在用: 但是,当我将断点放在foo.java类的一行中并且运行ant脚本(运行部分,右键单击run-> Debug As-> Ant Build)时,Eclipse不会在该行停止码。 我错过了什么? 问题答案: 在ant任务中,您应该添加两个jvm参数(IIRC)以打开