我想从Java开始nutch。我如何从Java程序启动cygwin?如何从Java运行cygwin?
回答
首先,您必须将bash.exe设置为环境变量,以便此行将启动bash。
Runtime rt= Runtime().getRuntime().execute("bash");
与其使用Java来启动Cygwin来调用nutch,你应该考虑直接将Nutch与Java应用程序集成。还有一些文档here:
“虽然Nutch的web应用程序是开始使用搜索一个伟大的方式,使用Nutch的大部分项目都需要搜索功能将更加紧密地与他们的应用程序集成有各种不同的方式来实现这一目标。 ,这取决于应用程序。我们在这里看到的两种方法是使用Nutch API和使用OpenSearch API。“
如同任何常规的Windows控制台应用程序一样,您可以在不传递Cygwin的情况下使用任何Cygwin程序。看看Cygwin \ bin \ dir。您甚至可以将您想要的程序带到您的应用程序目录,并且您将带有它们的CYGWIN1.DLL副本。
请注意,Cygwin DLL是GPL许可的。如果您想在自己的代码中使用Cygwin功能,您的代码必须也是GPL,或者您需要从Red Hat购买非GPL许可证。 – 2009-08-20 17:05:10
一个更有趣,更聪明的事情就是从Cygwin启动Nutch或使用真正的Linux/Unix系统。
如果你想运行需要cygwin1.dll
(包括大多数命令可以从Cygwin的bash shell中运行),那么你可以通过在PATH环境变量指定的cygwin \ bin目录中运行二进制像这样:
Process p = Runtime.getRuntime().exec(
"C:/path/to/cygwin/binary.exe", new String[] { "PATH=C:\\cygwin\\bin" });
这里假设你在C:\cygwin
- 1. 如何从Cygwin运行Java
- 2. 如何从Cygwin运行msysgit?
- 3. 从Java运行cygwin编译的程序
- 4. 如何从cygwin运行windows gvim?
- 5. 如何从Emacs中运行Cygwin Bash Shell?
- 6. 如何从Cygwin环境运行make?
- 7. 如何运行在Cygwin
- 8. Scons无法从Cygwin运行
- 9. 从JAVA程序运行Cygwin shell(cygwin.exe)并编写命令行
- 10. Cygwin运行错误版本的java
- 11. 如何从Java运行ajc?
- 12. 我如何使用java程序运行cygwin?
- 13. 如何在Cygwin上运行XSB?
- 14. 如何在cygwin上运行Android命令
- 15. 如何在Cygwin中运行makefile
- 16. 如何在powershell中运行cygwin脚本
- 17. 如何使用Cygwin远程运行eclipse?
- 18. 如何从cygwin中运行的java程序映射网络驱动器listFiles()?
- 19. 从Windows CMD运行Python Shell(绕过cygwin)
- 20. 从窗口通过cygwin运行git
- 21. 如何在从cygwin运行时结束s Powershell脚本
- 22. 如何传播Windows环境变量的PowerShell运行从cygwin
- 23. 如何从Windows c#(visual studio)运行cygwin编译的程序?
- 24. 如何从便携式驱动器运行Emacs和Cygwin
- 25. 如何从cygwin的
- 26. 从cygwin运行播放 - 只有play.bat是可运行的?
- 27. 运行从Java
- 28. 在cygwin下运行Cronjob
- 29. 在cygwin中运行gcc
- 30. 在cygwin下运行playframework
安装了Cygwin没有Cygwin的开始。如果你的意思是cygwin批处理文件,那只是运行bash。 – 2009-08-20 17:06:22
@尼尔:是的,我的意思是运行bash以启动Nutch。 – Adamski 2009-08-20 17:29:54
...虽然看到Havenard的答案,但我想我的意思是“不要用Java来启动另一个可执行文件”。 – Adamski 2009-08-20 17:30:56