1

我有一个在游戏框架中运行的应用程序。它在本地机器上运行良好。我已经在 CentOS Linx 系统中配置了应用程序。我已经解压播放包并将其放入 /var/lib/ 目录。我的应用程序将其放入目录 /var/www/ 目录中。在命令中运行播放依赖项时,它显示以下错误:

[root@xxxxxx004 InterShareServerHub]# /var/lib/play-1.2.5/play dependencies   ~        _            _
~  _ __ | | __ _ _  _| |
~ | '_ \| |/ _' | || |_|
~ |  __/|_|\____|\__ (_)
~ |_|            |__/
~
~ play! 1.2.5, http://www.playframework.org
~ framework ID is sales-demo
~
Traceback (most recent call last):
  File "/var/lib/play-1.2.5/play", line 153, in <module>
    status = cmdloader.commands[play_command].execute(command=play_command, app=play_app, args=remaining_args, env=play_env, cmdloader=cmdloader)
  File "/var/lib/play-1.2.5/framework/pym/play/commands/deps.py", line 55, in execute
    return_code = subprocess.call(java_cmd, env=os.environ)
  File "/usr/lib64/python2.6/subprocess.py", line 478, in call
    p = Popen(*popenargs, **kwargs)
  File "/usr/lib64/python2.6/subprocess.py", line 642, in __init__
    errread, errwrite)
  File "/usr/lib64/python2.6/subprocess.py", line 1234, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory

我不知道如何解决这个问题。我已经为java设置了路径。请任何人帮助我。

4

1 回答 1

0

这似乎与 Play 的 Python 子系统没有正确定位 Java 有关。

你说你已经设置了 Java 的路径......所以通过打开命令提示符并执行命令来检查:

java -version

如果这确实按预期打印 Java 版本,则打印路径设置:

set path

这应该在其中某处有通往 Java 的路径。现在到最后一步,看看你是否设置了 JAVA_HOME 环境变量:

set java_home

对我来说,这打印了一条不正确的路径。有趣的是,玩!本身似乎没有使用此设置,但它的 Python 子系统显然使用了。这会给你带来非常奇怪的行为。如果确实将 java_home 设置为错误的路径,您可能可以将其从环境设置中完全删除,但在此之前,我建议仅针对当前 CMD 窗口将其删除,方法是执行:

set java_home=

然后,通过运行此命令(在同一个 CMD 窗口中!)验证它现在是否工作:

play dependencies
于 2013-08-13T13:37:16.403 回答