|在prolog中有一个我想嵌入到我的web服务中的过滤器。我在后端使用JAVA,我希望在这里添加过滤器。我使用tomcat作为我的应用程序服务器。任何人都可以提出一个好方法。我知道JPL,可悲的是我无法使它工作。在java中的Prolog嵌入帮助
1
A
回答
2
如果您想将Prolog引擎嵌入到Java本身中,总会有tuProlog。其他选择将包括概念相似的JLog或更多编译器Prolog Cafe。
另一种选择,或许有点更远(它肯定会涉及您的部分有点移植工作的)是使用Mercury语言–它有一个非常Prolog的十岁上下的语法,但实际上不是序言–哪些功能其中包括Java后端和相称的Java FFI。
0
这并不是显而易见的,你要做的是什么,我要做出这样的假设,你真的只是想搞清楚如何启动你的Prolog代码并获得结果。
如果是这样的话,Java提供了Process类:
的ProcessBuilder.start()和 的Runtime.exec方法创建一个本地 过程和退货处理的 子能的一个实例使用 来控制该过程并获得关于它的信息 。类 方法提供了 方法从处理执行输入, 执行输出到过程, 等待的过程来完成, 检查 过程的退出状态,并破坏(杀死)的 过程。
或许更直接有用的是ProcessBuilder:这使您可以创建一个完整的工作环境(包括环境变量)接近模拟命令行,你很可能与现在正在测试。从的Javadoc引用:
ProcessBuilder pb = new ProcessBuilder("myCommand", "myArg1", "myArg2");
Map<String, String> env = pb.environment();
env.put("VAR1", "myValue");
env.remove("OTHERVAR");
env.put("VAR2", env.get("VAR1") + "suffix");
pb.directory(new File("myDir"));
Process p = pb.start();
记住,如果你想将信息传递给您创建的过程中,你需要使用Process.getOutputStream()(这将是你的输出到Prolog的输入)。同样,如果你想得到Prolog的输出和错误,你需要使用Process.getInputStream()
和Process.getErrorStream()
。
我迷茫,在过去的输入和输出流,仍然希望我可以有我的生活回到那些个小时....
相关问题
- 1. 的Java/Prolog的帮助 - 故障排除
- 2. Prolog作业帮助
- 3. Prolog规则帮助
- 4. 帮助嵌入FSI
- 5. 在学习Prolog中的帮助
- 6. 帮助prolog的条款
- 7. 嵌入youtube的帮助!
- 8. GridLayout的帮助在Java中
- 9. 帮助在Java
- 10. 帮助在Java
- 11. 帮助在Java
- 12. 帮助在Java
- 13. 在Java程序中帮助
- 14. 在Java中需要帮助
- 15. 哪个prolog实现对我有帮助
- 16. 帮助嵌入式BaseFormDoctrine窗体
- 17. 需要帮助的在Java
- 18. java中的同步帮助
- 19. 在CHM帮助文件中将图像嵌入到Sandcastles中
- 20. 写入java文件的帮助
- 21. Java Timer的帮助?
- 22. 的MouseListener帮助Java
- 23. Java Modulo帮助
- 24. Java ArrayList帮助!
- 25. NullPointerException Java帮助
- 26. Java Swing帮助
- 27. Java ArrayList帮助
- 28. Java Array帮助
- 29. Java MAP帮助
- 30. 在Java中使用jEuclid的帮助
那么你的问题应该进行相关的JPL问题,请确保您包括你看到的错误 – Jon 2011-05-20 12:59:55