我试图允许apache和PHP执行一个输出到std:out的java程序,但我一直得到"错误:无法找到或加载主类"。这一切都发生在Raspian。
我在var / www中有我的index.php,在var / www / pathy-lang中有我的java程序
Pathy.class是我的main()所在的位置,当我尝试在终端中执行java pathy-lang/Pathy
或在我的PHP文件中使用反引号运算符时,我收到错误。如果我在与它相同的目录中并且在命令行上执行java Pathy
,则Pathy可以正常工作。
我宁愿在其他地方使用pathy-lang(最好是/ usr / local / lib之类的地方),但是我只考虑一旦我让它在一个文件夹上工作。
我理解apache使用www-data用户来做事情,这会让事情变得复杂吗?
我认为这与我的文件权限,PATH或CLASSPATH有关。但是对linux的经验很少,我不知道从哪里开始尝试对它进行排序。由于"未找到"响应我假设这是一个PATH或CLASSPATH错误,但在回答时你也可以提到权限设置,因为一旦设置了PATH,这可能是下一个障碍。
答案 0 :(得分:0)
一位朋友帮我解决了,并告诉我java上的-cp选项来定义类路径。好像我的预感是正确的,因为我在.profile中设置了类路径,它对我以外的任何其他用户都不起作用。
通过在-cp选项中定义完整的类路径,然后说出main()所在的类,它可以工作。