最近两天一直在处理ant运行java程序的一个问题,用IDE直接运行类里面的main函数一切正常,但用ant跑该函数就报错误,错误的原因是运行ant任务时调用的是AntClasloader,而IDE里面调用的是jvm里面的classloader。
如何使ant直接调用jvm的classloader呢?尝试过了很多办法都不行,最后在不经意间设置了fork=true这个属性,结果运行正常了。
在网上查了下fork的资料,ant官方定义是“if enabled triggers the class execution in another VM ”,Ant默认行为是调用运行Ant本身的JVM,然而如果你想要单独地调用编译器,则需要设置fork属性为true。
<java fork="true" classname="xxx" />
以后发现在IDE里面可以运行成功,但在ant里面不能跑成功的,可以加上fork这个属性,这样一般就都可以通过了:)
分享到:
相关推荐
fork一个进程,fork()函数fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,这个新产生的进程称为子进程。一个进程调用fork()函数后,系统先给新的进程...
创建新进程:fork函数:fork函数干什么? fork函数与vfork函数的区别在哪里?为何在一个fork的子进程分支中使用_exit函数而不使用exit函数?
linux_fork函数
关于fork函数的介绍,和测试程序,原版fork linux平台
fork 函数详解
在win系统下模拟linux中的fork()函数执行过程与基础通信过程 备注清晰。
对进程初学者来说理解FORK()有帮助, fock函数调用一次却返回两次;向父进程返回子进程的ID,向子进程中返回0, 这是因为父进程可能存在很多过子进程,所以必须通过这个返回的子进程ID来跟踪子进程,
本文档以ppt形式编写,通过例子,学习fork()函数的应用及用法,适合初学者。
演示fork函数的效果。也为了挣分。不会fork的可以看看。
系统调用fork( ), exec系列函数,exit( ), wait( )的功能和实现过程 使用系统调用fork( )创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示...
该事例程序属多进程调用小程序,采用了系统调用函数fork()进行子进程的调用。在该文档中介绍了fork()调用的相关细节及注意点以及父子进程段的关系。并将程序运行后输出到屏幕结果与输出重定向到文件后的结果进行比较...
来自Google的英文原版,翻译。
Linux 中 fork() 函数详解,相关教程链接如下: http://blog.csdn.net/tennysonsky/article/details/45165811
linux内核 do_fork 函数源代码浅析。 经典讲解!
易懂易用,对于初学者来说是个十分实用的对初学知识的巩固与了解。
本文档内容是我自己写的一个关于fork函数新建进程并对调用流程进行分析的文档。 运行环境是win7安装vmware虚拟机里的linux系统,直接gcc编译得到的执行结果。 看完次文档后即可对fork有一个比较系统的认识。
这个程序是为了分析fork()函数和vfork()函数的区别,使用的系统环境是linux
一些简单的linux下进程管理文件示例,关于fork()函数的,可以作为入门级别的
编写一段程序,使用系统调用fork()创建两个子进程。当此程序运行时, 在系统中有一个父进程和两个子进程活动。 让每一个进程在屏幕上显示一个字符:父进程显示“A”; 子进程分别显示字符“b”和“c”。试观察记录...