1

我尝试启动的 Jar 文件与 JNLP 文件位于同一目录中。如何在我的codebase属性中指定它?

<jnlp codebase="file://" href="launch.jnlp" spec="1.0+">
4

3 回答 3

5

codebase这是一个使用设置桌面图标和闪屏的示例 JNLP 。请参阅 Oracle 页面 Structure of the JNLP file,以及更早的文档:Java Network Launching Protocol and API Specification (JSR-56) 非常详尽。

<?xml version="1.0" encoding="utf-8"?>
<!-- JNLP File for YourWebstart -->
<jnlp
 spec="1.5+"
 codebase="http://YourWebsiteurl.com/YourWeblaunchPage"
 href=”Your.jnlp">
 <information>
   <title>YourPrograms</title>
   <vendor>YourCompany</vendor>
   <description>Your application</description>
   <description kind="short">Your weblaunch description</description>
   <icon href="YourdesktopIconLogo.png"/>
   <icon kind="splash" href="YourSplashScreenImage.png"/>
   <shortcut online="true">
     <desktop/>
   </shortcut>  
  </information>
  <security>
    <all-permissions/>
  </security>
  <resources>
    <j2se version="1.6+" 
    href="http://java.sun.com/products/autodl/j2se"/>    
    <jar href="YourApplication.jar"/>
  </resources>
  <application-desc main-class="YourMainClassLocation.YourMainClass">
   <argument>AnyArgumentsYouWantToPassIntoYourApplication</argument>
 </application-desc>
</jnlp>
于 2012-04-24T09:42:17.220 回答
2

基于文件codebase在部署时将不起作用,并且在开发期间,可以在运行时覆盖基于 Web 的代码库。

要获取基于文件的 URL 进行测试,File请在感兴趣的目录中创建一个对象,JNLP 文件可能是最好的。检查file.exists()(检查我们的假设非常重要),然后调用file.toURI().toURL()以将其作为文件基础 URL 获取。

此外,请务必使用JaNeLA检查 JNLP 。

于 2012-04-25T08:27:40.453 回答
1

当您使用 Web 服务器时,标记为正确的答案是正确的,但是如果您使用文件系统,则必须使用以下内容才能将当前目录用作代码库

<jnlp href="launch.jnlp" spec="1.0+">

这适用于 jdk 1.7.0_25

于 2013-08-08T03:03:43.327 回答