最近两天一直在处理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()`函数的例子: ```cpp #include #include int main() { pid_t fpid; // fpid 表示 fork 函数返回的值 int count = 0; fpid = fork(); if (fpid ) { printf("fork error!\n"); ...
在使用 fork 函数时,为什么在子进程分支中使用 _exit 函数而不使用 exit 函数?这是因为 exit 函数会执行一些退出处理,例如关闭打开的文件、释放资源等,而 _exit 函数不会执行这些退出处理,这样可以避免子进程在...
以下是一个简单的C语言程序示例,演示如何使用`fork()`函数以及如何通过返回值来区分父进程和子进程: ```c #include #include #include #define MAX_COUNT 200 #define BUF_SIZE 100 int main(void) { pid_t...
### fork函数和子进程知识点详解 #### 一、引言 在计算机编程中,特别是针对多任务处理领域,进程管理是实现系统并发的关键技术之一。其中,`fork()`函数是Unix/Linux系统中创建新进程的核心手段。通过深入理解`...
fork 函数详解 fork 函数是 Unix 系统中一个非常重要的系统调用,它允许一个进程创建一个新的进程,该新的进程是原来进程的副本。fork 函数的返回值在父进程和子进程中不同,在父进程中返回新创建的子进程的进程 ID...
关于fork函数的介绍,和测试程序,原版fork linux平台
在"演示fork函数的效果"这个主题中,我们将深入探讨`fork()`的工作原理以及如何使用它。 首先,`fork()`函数的调用会返回两次:一次在父进程中,一次在子进程中。在父进程中,`fork()`返回新创建子进程的进程ID...
接下来,我们将深入探讨`fork()`函数的工作原理、使用方法以及相关示例。 一、`fork()`函数工作原理 `fork()`函数执行时,会将调用它的进程(父进程)的所有资源(包括内存映射、打开的文件、信号处理函数、环境...
在Linux操作系统中,`socket`、`fork`和`c/c++`是构建网络应用程序的常见工具。`socket`用于创建通信端点,允许不同进程间进行数据交换,`fork`则是Unix/Linux系统中用于创建新进程的关键系统调用。本示例中,我们将...
在win系统下模拟linux中的fork()函数执行过程与基础通信过程 备注清晰。
对进程初学者来说理解FORK()有帮助, fock函数调用一次却返回两次;向父进程返回子进程的ID,向子进程中返回0, 这是因为父进程可能存在很多过子进程,所以必须通过这个返回的子进程ID来跟踪子进程,
本文档以ppt形式编写,通过例子,学习fork()函数的应用及用法,适合初学者。
统会自动回收其资源,但有时父进程需要等待子进程完成后再进行后续操作,这时就需要使用wait系统调用来实现。wait函数允许父进程挂起,直到一个子进程终止或者接收到信号,然后恢复并返回子进程的退出状态。 在实验...
从分配内存、复制父进程信息到初始化新进程的状态,do_fork 函数确保了新进程能够正确地创建并在系统中运行。对于想要深入了解 Linux 内核进程管理和并发控制机制的人来说,掌握 do_fork 函数的工作原理是非常重要的...
在Linux操作系统中,多进程编程是通过系统调用函数`fork()`来实现的。`fork()`函数能够创建一个新的子进程,使得子进程与父进程共享代码段,但各自拥有独立的堆栈段和数据段。当`fork()`成功执行时,它在父进程中...
fork()系统调用参数返回值详解 fork()系统调用是Linux系统中最基本和最重要的系统...fork()函数的调用一次却返回两次,这是fork()函数的奇妙之处,它仅仅被调用一次,却产生了两个不同的执行路径,父进程和子进程。
在Linux操作系统中,`fork()`函数是创建新进程的关键接口,它是C标准库中的一个系统调用。这个函数允许一个正在运行的进程(父进程)创建一个与它几乎完全相同的副本,即子进程。理解并熟练使用`fork()`是进行进程...
3. **fork="YES"**: 这意味着 Ant 将在新的进程中运行 Java 类,而不是在当前 Ant 进程中。这通常用于确保类的独立执行,避免影响主进程。 4. **classpathref**: 这是一个引用到 `<path>` 标签的 ID,用于定义类...