【发布时间】:2011-01-31 00:06:44
【问题描述】:
我正在尝试从 PHP 生成 Java WebStart JNLP 文件。我会把整个代码放在最后,但我的具体问题是这行 PHP:
<property name="jnlp.versionEnabled" value="true" />
<?php
echo "<property name=\"javaws.username\" value=\"" . $userid . "\" />"
?>
<property name="server.port" value="3000" />
经过一番挣扎后,我发现 PHP 生成的行最后带有一个 ctrl-J。这完全搞砸了Webstart。为什么要这样做,我该如何阻止它? PHP 的执行环境是 OpenSolaris 上的 PHP5。
此文件的完整代码如下供参考。 (Windows部分不用管,我是在Mac上工作的。等mac部分正常工作后我会修复它。)
<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0+" codebase="http://fgdztgab.joyent.us/snowmen" href="snowman.php">
<information>
<title>Snowman</title>
<vendor>The RedDwarf Project</vendor>
<description kind="one-line">Game</description>
<description kind="short">Project Snowman Demo RedDwarf Game</description>
<description kind="tooltip">Project Snowman</description>
<shortcut online="false"><desktop/><menu submenu="Project Snowman"/></shortcut>
</information>
<security>
<all-permissions/>
</security>
<resources os="Mac" >
<j2se version="1.6+" initial-heap-size="32m" max-heap-size="1024m" />
<property name="jnlp.versionEnabled" value="true" />
<?php
echo "<property name=\"javaws.username\" value=\"" . $userid . "\" />"
?>
<property name="server.port" value="3000" />
<property name="server.host" value="fgdztgab.joyent.us" />
<nativelib href="projectsnowman/snowman-client-0.2-SNAPSHOT-macbinaries.jar"/>
<jar href="projectsnowman/snowman-client-jnlp-0.2-SNAPSHOT.jar"/>
<jar href="projectsnowman/snowman-client-0.2-SNAPSHOT.jar" main="true"/>
<jar href="projectsnowman/sgs-client-0.10.1.jar"/>
<jar href="projectsnowman/sgs-shared-1.12.jar"/>
<jar href="projectsnowman/mina-core-1.1.0.jar"/>
<jar href="projectsnowman/slf4j-api-1.4.0.jar"/>
<jar href="projectsnowman/slf4j-jdk14-1.4.0.jar"/>
<jar href="projectsnowman/snowman-common-0.2-SNAPSHOT.jar"/>
<jar href="projectsnowman/jme-2.0-S1.jar"/>
<jar href="projectsnowman/jme-terrain-2.0-S1.jar"/>
<jar href="projectsnowman/jme-audio-2.0-S1.jar"/>
<jar href="projectsnowman/jme-collada-2.0-S1.jar"/>
<jar href="projectsnowman/jme-effects-2.0-S1.jar"/>
<jar href="projectsnowman/jme-font-2.0-S1.jar"/>
<jar href="projectsnowman/jme-gamestates-2.0-S1.jar"/>
<jar href="projectsnowman/jme-model-2.0-S1.jar"/>
<jar href="projectsnowman/jme-scene-2.0-S1.jar"/>
<jar href="projectsnowman/jme-xml-2.0-S1.jar"/>
<jar href="projectsnowman/lwjgl-2.0rc2.jar"/>
<jar href="projectsnowman/lwjgl_util-2.0rc2.jar"/>
<jar href="projectsnowman/jorbis-0.0.17.jar"/>
<jar href="projectsnowman/fenggui-1.0-S1.jar"/>
<jar href="projectsnowman/environmentsystem-1.1.jar"/>
<jar href="projectsnowman/md5importer-1.2.4.jar"/>
<jar href="projectsnowman/snowman-client-0.2-SNAPSHOT-winbinaries.jar"/>
<jar href="projectsnowman/snowman-client-0.2-SNAPSHOT-macbinaries.jar"/>
</resources>
<resources os="Windows" >
<j2se version="1.6+" initial-heap-size="32m" max-heap-size="1024m" />
<property name="jnlp.versionEnabled" value="true"/>
<property name="client.username" value="<?php echo($_GET['userid']); ?>" />
<property name="server.port" value="3000" />
<property name="server.host" value="fgdztgab.joyent.us" />
<nativelib href="projectsnowman/snowman-client-0.2-SNAPSHOT-winbinaries.jar"/>
<jar href="projectsnowman/snowman-client-jnlp-0.2-SNAPSHOT.jar"/>
<jar href="projectsnowman/snowman-client-0.2-SNAPSHOT.jar" main="true"/>
<jar href="projectsnowman/sgs-client-0.10.1.jar"/>
<jar href="projectsnowman/sgs-shared-1.12.jar"/>
<jar href="projectsnowman/mina-core-1.1.0.jar"/>
<jar href="projectsnowman/slf4j-api-1.4.0.jar"/>
<jar href="projectsnowman/slf4j-jdk14-1.4.0.jar"/>
<jar href="projectsnowman/snowman-common-0.2-SNAPSHOT.jar"/>
<jar href="projectsnowman/jme-2.0-S1.jar"/>
<jar href="projectsnowman/jme-terrain-2.0-S1.jar"/>
<jar href="projectsnowman/jme-audio-2.0-S1.jar"/>
<jar href="projectsnowman/jme-collada-2.0-S1.jar"/>
<jar href="projectsnowman/jme-effects-2.0-S1.jar"/>
<jar href="projectsnowman/jme-font-2.0-S1.jar"/>
<jar href="projectsnowman/jme-gamestates-2.0-S1.jar"/>
<jar href="projectsnowman/jme-model-2.0-S1.jar"/>
<jar href="projectsnowman/jme-scene-2.0-S1.jar"/>
<jar href="projectsnowman/jme-xml-2.0-S1.jar"/>
<jar href="projectsnowman/lwjgl-2.0rc2.jar"/>
<jar href="projectsnowman/lwjgl_util-2.0rc2.jar"/>
<jar href="projectsnowman/jorbis-0.0.17.jar"/>
<jar href="projectsnowman/fenggui-1.0-S1.jar"/>
<jar href="projectsnowman/environmentsystem-1.1.jar"/>
<jar href="projectsnowman/md5importer-1.2.4.jar"/>
<jar href="projectsnowman/snowman-client-0.2-SNAPSHOT-winbinaries.jar"/>
<jar href="projectsnowman/snowman-client-0.2-SNAPSHOT-macbinaries.jar"/>
</resources>
<application-desc main-class="com.sun.darkstar.example.snowman.ClientApplication">
</application-desc>
</jnlp>
【问题讨论】:
-
^J不只是一个标准的'\n'新行吗?尝试通过dos2unix运行整个文件(有时在系统上使用dtox或d2u)。 -
不行,这是作为网络请求的动态输出生成的。