为什么非分叉AntJava任务看不到一些必需的类?

为什么非分叉AntJava任务看不到一些必需的类?,java,ant,classpath,Java,Ant,Classpath,我遇到了这样一个问题:如果我将服务器应用程序作为一个分叉Java任务启动,它工作得很好(但令人烦恼的是,它会捕获System.in()输入),但是当我尝试以未经修改的方式运行Java任务时(为了保留系统输入),它找不到一些类(特别是javax ssl包) 在这个问题上,我是否需要包含一个任务参数,比如includeJavaRuntime=“true”或其他什么?这个错误向我表明,类加载器在非分叉时是不同的。是的,这是一个类加载器问题。系统类路径中很可能缺少您需要的jar 实际上,总是在单独的线程

我遇到了这样一个问题:如果我将服务器应用程序作为一个分叉Java任务启动,它工作得很好(但令人烦恼的是,它会捕获System.in()输入),但是当我尝试以未经修改的方式运行Java任务时(为了保留系统输入),它找不到一些类(特别是javax ssl包)


在这个问题上,我是否需要包含一个任务参数,比如includeJavaRuntime=“true”或其他什么?这个错误向我表明,类加载器在非分叉时是不同的。

是的,这是一个类加载器问题。系统类路径中很可能缺少您需要的jar

实际上,总是在单独的线程中运行Java进程更安全,使用您为它们提供并指定的类路径

<path id="classpath.id">
        <fileset ...
</path>

<java fork="true" classpathref="classpath.id" ....


我100%确信这个类在类路径中,并且100%确信按照你上面的建议去做是行不通的。我认为问题是一个更深层次的类加载器问题。。。更有可能是由于Ant的自定义类加载器导致的系统策略问题。还在努力理解。我在尝试使用Beanshells类加载器时遇到了类似的问题,但得到了不同的错误消息。