为什么非分叉的 ANT Java 任务看不到某些必需的类?

发布于 2024-12-04 23:08:46 字数 214 浏览 0 评论 0原文

我遇到这个问题,如果我将我的服务器应用程序作为分叉的 Java 任务启动,它工作正常(但烦人地抓取 System.in() 输入),但是当我尝试以未分叉的方式运行 Java 任务时(为了保留系统输入),它找不到某些类(特别是 javax ssl 包)。

这是一个我需要包含诸如 includeJavaRuntime="true" 之类的任务参数的问题吗?这个错误向我表明类加载器在非分叉时是不同的。

I am experiencing this problem where if I start my server application as a forked Java task , it works fine (but annoyingly grabs the System.in() input) but when I try to run the Java task as unforked (in order to retain the system input), it cant find some of the classes ( specifically a javax ssl package).

Is this an issue where I need to include a task argument like includeJavaRuntime="true" or something? This error suggests to me that the classloader is different when non-forked.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

宛菡 2024-12-11 23:08:46

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

实际上,始终在单独的线程中运行 Java 进程并使用您提供并指定的类路径实际上更安全。

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

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

Yes, it's a classloader problem. Most likely the jar you need is missing from the system classpath.

It's actually safer to always run Java processes in a separate thread, using a classpath you provide and specify for them.

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

<java fork="true" classpathref="classpath.id" ....
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文