Playframework 使用特定的Java路径进行播放!框架

Playframework 使用特定的Java路径进行播放!框架,playframework,bundle,java,Playframework,Bundle,Java,以制作一个完全便携的游戏为实验目标!应用程序,无需担心主机是否已播放!甚至是Java,我正试图找到一种方式来告诉玩家!在何处查找Java,而不是查看环境变量Java_HOME 将框架本身与应用程序捆绑在一起并不困难,我甚至找到了“嵌入”MySQL的方法,但我还没有找到捆绑Java并发挥作用的方法!使用同一目录中的JRE。这可能吗?你是如何开始比赛的?如果您不直接添加start.sh/start.bat,将JAVA_HOME设置为当前的_文件夹/jdk,那么为什么不添加start.sh/start

以制作一个完全便携的游戏为实验目标!应用程序,无需担心主机是否已播放!甚至是Java,我正试图找到一种方式来告诉玩家!在何处查找Java,而不是查看环境变量Java_HOME


将框架本身与应用程序捆绑在一起并不困难,我甚至找到了“嵌入”MySQL的方法,但我还没有找到捆绑Java并发挥作用的方法!使用同一目录中的JRE。这可能吗?

你是如何开始比赛的?如果您不直接添加start.sh/start.bat,将JAVA_HOME设置为当前的_文件夹/jdk,那么为什么不添加start.sh/start.bat呢

您还可以将播放应用程序打包为WAR文件,并与便携式tomcat或其他web服务器一起使用

每次播放命令说明:

~脚本首先尝试使用 $JAVA\u HOME环境变量(来自$JAVA\u HOME/bin)。~如果 $JAVA_HOME变量未定义,默认JAVA命令可用 从路径开始使用

因此,您可以尝试将Java/bin添加到路径中,或者尝试将“Java”添加到开始播放的工作目录中

作为最后一个选项,您可以修改
play\framework\pym\play\application.py
并直接在其中添加路径,修改此部分:

   def java_path(self):
        if not os.environ.has_key('JAVA_HOME'):
            return "java"
        else:
            return os.path.normpath("%s/bin/java" % os.environ['JAVA_HOME'])

作为对@AlexanderPonomarenko的回答和@Indigenuity的评论的补充(他们都明白了这一点),下面是我在Win7 x64上使用Play 1.4.2的解决方案:

我编辑了play根目录下的
play.bat
文件,并将其内容设置为:

echo off
set "JAVA_HOME=C:\Program Files (x86)\Java\jre1.8.0_112"
"%~dp0python\python.exe" "%~dp0play" %*
请注意,这适用于我使用Java 8u112 x86的用例,您必须将其设置为所需的值

还要注意,由于空格的缘故,将
JAVA_HOME
声明为双引号的语法


享受:)

我最终将JDK 1.7粘贴到Play 1.2.4中,并将其粘贴到我的项目中。以前从未做过bat,因此从.bat文件中找出路径很困难,但我只是在play.bat中插入了这一行:
set JAVA_HOME=%~dp0\jdk1.7.0
,非常感谢您指出我可以在哪里更改python代码。很有启发性。起初我使用的是这种解决方案,但我决定改变play.bat是一种更安全、更便携的方法。