Toon posts:

[Java] jar file runnen zonder command line

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo,

Ik heb een simpele java-applicatie gemaakt die ik wil runnen door te dubbelklikken op de jar file.Als ik dit doe, krijg ik een error:

Could not find the main class: <packagenaam>.<classnaam>. Program will exit.

Deze main class staat wel in de manifest file gedefinieerd.

De main class heeft een main-methode.

Als ik de applicatie wil draaien vanuit de command line wil dat wel, maar ik wil kunnen dubbelklikken en ik weet dat dit mogelijk is.

Ik heb ons aller vriend google uiteraard geraadpleegd, genoeg te vinden, maar niet wat ik zoek :+

Weet iemand waar het aan ligt en hoe ik dit zou kunnen oplossen?

Extra info:
  • Project gemaakt in Netbeans IDE 7.1
  • Windows 7 Pro
  • JDK 1.7
  • JRE 7

Acties:
  • 0 Henk 'm!

  • MyUtd4Life
  • Registratie: September 2011
  • Laatst online: 23:26
Zet dit in je CMD.exe;)
java -jar app.jar

FIFA Benelux Administrator


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Verwijderd schreef op donderdag 08 maart 2012 @ 21:50:
Als ik de applicatie wil draaien vanuit de command line wil dat wel, maar ik wil kunnen dubbelklikken en ik weet dat dit mogelijk is.
Bedankt voor je snelle reactie, maar ik wil hem dus kunnen runnen door dubbel te klikken op de JAR. Runnen via cmd werkt wel, maar bij dubbel klikken krijg ik die error.

Acties:
  • 0 Henk 'm!

  • mace
  • Registratie: Juni 2003
  • Laatst online: 23:11

mace

Sapere Aude

Maak een snelkoppeling aan met dat als commando er in.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dat is een omweg die ik wel vaker tegen ben gekomen op google. Dat ik ook mijn 2e optie.

Ik heb echter ook een jar van een ander programma dat ik ergens vandaan geplukt heb en die kan ik openen door dubbelklikken op die jar. Dus waarom wil dat bij mijn eerste eigen progje niet?

Acties:
  • 0 Henk 'm!

  • Ventieldopje
  • Registratie: December 2005
  • Laatst online: 23:46

Ventieldopje

I'm not your pal, mate!

Even met "uitvoeren als" het programma "javaw.exe" selecteren als default voor .jar bestanden (10 sec googlen) ;)

Gegoogled op: "jar run double click", 1e resultaat ;)

[ Voor 20% gewijzigd door Ventieldopje op 08-03-2012 22:04 ]

www.maartendeboer.net
1D X | 5Ds | Zeiss Milvus 25, 50, 85 f/1.4 | Zeiss Otus 55 f/1.4 | Canon 200 f/1.8 | Canon 200 f/2 | Canon 300 f/2.8


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ook al geprobeerd... als ik die gebruik krijg ik die melding.


Het vreemde is dus dat mijn pc de ene jar wel runt zoals het hoort en de ander niet. allebei jar, allebei simpele applicaties en de applicatie die hij wel wil openen zit nog vol bugs ook :+

[ Voor 61% gewijzigd door Verwijderd op 08-03-2012 22:07 ]


Acties:
  • 0 Henk 'm!

  • Cobalt
  • Registratie: Januari 2004
  • Laatst online: 08-10 18:51

Acties:
  • 0 Henk 'm!

  • ibmos2warp
  • Registratie: Januari 2007
  • Laatst online: 20-11-2023

ibmos2warp

Eval is Evil

Blijkbaar moet je met netbeans je project clean en builden. Dan moet je de jar uit de /dist directory pakken. Zie ook dit. Een manifest bestand van een van mijn runnable jars ziet er zo uit:
code:
1
2
Manifest-Version: 1.0
Main-Class: main.Main

Verder kan je natuurlijk ook je jar in Eclipse inladen en daar een runnable jar genereren, kijken of die werkt en het verschil bekijken.

Ik weet alles van niks
Vind Excel ongelovelijk irritant.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
@ibmos2warp Clean and build gedaan, jar uit /dist gepakt..

Dit is mijn manifest:
code:
1
2
3
4
5
6
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.2
Created-By: 1.7.0_02-b13 (Oracle Corporation)
Class-Path: lib/jid3lib-0.5.4.jar lib/commons-lang3-3.1.jar
X-COMMENT: Main-Class will be added automatically by build
Main-Class: musicrenamer.GUI


Ik zal Eclipse eens proberen

EDIT: Eclipse geprobeerd, zelfde resultaat.(nieuw project gemaakt en code gekopieerd)

[ Voor 11% gewijzigd door Verwijderd op 08-03-2012 23:23 ]


Acties:
  • 0 Henk 'm!

  • Jegorex
  • Registratie: April 2004
  • Laatst online: 03-09 23:24
MyUtd4Life schreef op donderdag 08 maart 2012 @ 21:56:
Zet dit in je CMD.exe;)
java -jar app.jar
Ik weet dat je het niet in command line wilt uitvoeren, maar als je het op deze manier doet zul je dezelfde melding moeten krijgen als met dubbel klikken.
En dan kun je ook beter zien wat er precies fout gaat.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dat is dus het vreemde eraan... Als ik vanuit de command line run, werkt hij wel zoals het hoort, maar hij zou ook moeten kunnen werken zonder..

[ Voor 19% gewijzigd door Verwijderd op 09-03-2012 09:32 ]


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 22:14

Janoz

Moderator Devschuur®

!litemod

Gezien de info die je geeft is het onmogelijk dat dit fout gaat. Ergo, je hebt nog niet alle relevante informatie gegeven. Zou je EXACT kunnen omschrijven wat je doet? is java -jar app.jar EXACT wat je uitvoert en in welke map voer je dat uit? Dubbelklik je ook op de jar in die map of verplaats je hem eerst? De manifest file die je eerder noemt haal je die uit je project of heb je daadwerkelijk in je jar gekeken welk manifest er in terecht gekomen is? En is de melding ook daadwerkelijk "Could not find the main class: musicrenamer.GUI. Program will exit."? Heb je de door je app gebruikte libs (jid3lib-0.5.4.jar en commons-lang3-3.1.jar) wel op de juiste plek staan?

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • terje7601
  • Registratie: September 2009
  • Laatst online: 08-02-2024
Nog iets dat je kan checken: het precieze commando waarmee .jar files geassocieerd zijn. Bij mij is dat:
> assoc .jar
.jar=jarfile

> ftype jarfile
jarfile="C:\Program Files\Java\jre7\bin\javaw.exe" -jar "%1" %*

Acties:
  • 0 Henk 'm!

  • bwerg
  • Registratie: Januari 2009
  • Niet online

bwerg

Internettrol

Uit het linkje van Cobalt:
Be sure that your manifest file ends with a new line, else your manifest file content will not be parsed and append to the system generated manifest.mf.
Is dat niet het probleem?

[ Voor 27% gewijzigd door bwerg op 09-03-2012 12:08 ]

Heeft geen speciale krachten en is daar erg boos over.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Update:
Ik heb ondertussen uitgesloten dat het aan de jar zelf ligt: Op een andere computer werkt hij wel goed. Ik denk dat ik jre even opnieuw installeer. (vanmiddag) Zien of dan het probleem is opgelost.

Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 01:41
Volgens de officiele documentatie kun je de application entry point ook laten instellen door de jar tool, zonder een Manifest te hoeven bouwen:

jar cfe app.jar MyApp MyApp.class


edit:
Oh, dat lijkt al opgelost te zijn. Nou ja, misschien handig voor iemand anders.

[ Voor 15% gewijzigd door Soultaker op 09-03-2012 12:48 ]


Acties:
  • 0 Henk 'm!

  • johnkeates
  • Registratie: Februari 2008
  • Laatst online: 04-07 16:30
Toevoeging: het lijkt er op dat je main class niet goed is :)

Main-Class: musicrenamer.GUI

In je manifest...

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Wat is er niet goed aan? musicrenamer.GUI is mijn main class.

EDIT / UPDATE: Ik heb jre opnieuw geinstalleerd en nu werkt hij wel goed. Ik denk dat er wat conflicteerde doordat jre6.31 en jre7 beide geinstalleerd waren (ofzo)

[ Voor 57% gewijzigd door Verwijderd op 09-03-2012 18:16 ]

Pagina: 1