2011-01-30 12 views
0

我有一个很奇怪的问题。我有一个JNLP文件工作得很好,当一个属性是手工编辑:从PHP生成的JNLP失败

<property name="javaws.username" value="dummy" /> 

但是当从PHP产生像这样一个真实的值相同的属性:

<property name="javaws.username" value="fb1331463499" /> 

它显示了在运行时为空。我已经检查了Xcode中的jnlp文件以查找控制字符,但Xcode不显示任何内容。

任何帮助表示赞赏。

+1

您是否尝试过手动编辑时的真实价值?如果是,并且工作正常,请尝试在两个文件之间运行差异。 – greg0ire 2011-01-30 23:13:19

回答

0

通过将heredoc格式移动到文件末尾来移除不需要的ctrl-J来解决。

不是一个伟大的soln,但它的工作。

1

仍然有问题。

我追查下来,在最后这条线在JNLP:

<jnlp spec="1.0+" codebase="http://fgdztgab.joyent.us/snowmen" href="snowman.jnlp"> 

JNLP文件是一个奇怪的黑客攻击。如果可用,他们基本上会将自己从href参数中重新加载。这允许他们为jnlp文件使用他们自己的缓存和版本管理机制。不幸的是,这意味着它正在重新加载而没有get参数。我可能可以将获取参数添加到href中,但是由于它的可选参数,我只是把它拿出来了。

解决了这个问题。

故事的道德:如果你包含它,请注意href的作用。

0

href导致从该URL(相对于代码库或完全限定)加载jnlp文件,如果您正在生成动态jnlp,它将取代动态信息。在这种情况下,你可以离开了JNLP HREF防止重载,但只是供参考 - 从JNLP标签参考页 - http://lopica.sourceforge.net/ref.html

注意,该Java Web Start的需要HREF列出您的应用程序在网络启动 应用程序管理器。