2012-11-25 7 views

Antwort

6

Danke für all Ihre Tipps - mir war nicht bewusst, dass es einen separaten Download für die Proben gibt.

Also hier ist, was ich am Ende tun (beachten Sie, dass ich meine eigene Remote-Repository haben, so dass diese möglicherweise nicht relevant für Sie):

ich die JDK7 Proben von Oracle-Website heruntergeladen. Im Inneren fand ich eine jnlp.jar, die nur die jnlp API enthält:

sample\jnlp\servlet\jnlp.jar 

Das habe ich auf meiner privaten Remote-Repository (artifactory) als jnlp-api-1.7.jar eingesetzt und dann die pom.xml konfiguriert wie so ('' versehen, Umfang, da zur Laufzeit dieser Klassen von javaws.jar vorgesehen sind, wie von Aksel Willgert darauf hingewiesen):

<dependency> 
    <groupId>javax.jnlp</groupId> 
    <artifactId>jnlp-api</artifactId> 
    <version>1.7</version> 
    <scope>provided</scope> 
</dependency> 

Und der Vollständigkeit halber, ein Screenshot der Bereitstellung Artifactory:

10

in Java 7 javax.jnlp * Pakete sind Teil der jre und können im javaws.jar auf folgenden Pfad

C:\Program Files\Java\jre7\lib\javaws.jar 

Bei der Verwendung von Maven zu finden:

<dependency> 
    <groupId>javax.jnlp</groupId> 
    <artifactId>jnlp-api</artifactId> 
    <version>7.0</version> 
    <scope>system</scope> 
    <systemPath>${java.home}/lib/javaws.jar</systemPath> 
</dependency> 

Wenn Sie danach sind jnlp-download-servlet und jnlp-servlet.jar

Die Proben e arlier vorgesehen als Teil der jdk heruntergeladen separetlely jetzt von Oracle werden muss: Scroll down to "demos and samples"

Jemand eine Kopie in Maven repos schön und stellen hat (erraten können nicht wir sicher sein, es nicht hinter, wenn Oracle-Updates ihres hinkt ..):

<dependency> 
    <groupId>org.codehaus.mojo.webstart</groupId> 
    <artifactId>webstart-jnlp-servlet</artifactId> 
    <version>1.0-6.0.02_ea_b02.2</version> 
</dependency> 

Edit:. Als Zalumon der javax.jnlp in seiner Antwort erklärt * api auch in dem Proben-Paket zu finden ist. Das Herunterladen dieser Datei und das Hinzufügen von jnlp.jar zum Klassenpfad von dort sollte empfohlen werden, um javaws.jar wie oben vorgeschlagen hinzuzufügen.

+0

Wenn es ein Teil der JRE ist, warum dann spezielle Tricks, um es zu einer Abhängigkeit maven machen? –

+0

Gute Frage, auch wenn es Teil des JRE ist, musste ich es zum Projektklassenpfad in Eclipse hinzufügen, um in der Lage zu sein, zur javax.jnlp. * -Packages-API zu coden. Wenn die App als Java-Version gestartet wird, hat sie das jre/system ihnen zur Verfügung gestellt. –

+0

Das klingt so, als ob der "javaws" -Befehl Teil der JRE ist, aber dass die jnlp-Klassen nicht auf dem Standard-Klassenpfad sind. Vielleicht nur ein API-Maven-Artefakt? –