Vilket operativsystem gäller det?
Jag jobbade runt 2009 med att distribuera en Java-skrivbords-applikation (på Windows XP). Saker och ting kan ha ändrats sedan dess och det finns säkert smartare sätt att göra saker på...
Första steget är att få applikationen att fungerar från kommandorad.
java -jar dinapp.jar
Felmeddelanden när du kör så?
Min gissning är att din classpath inte kommer vara korrekt i det läget. Programmet har ju beroenden som ligger i andra .jar-filer som måste finnas i classpath. Enklaste lösningen brukar vara att skapa en .bat-fil som sätter classpath och sedan kör kommandoraden. .bat-filer kan man ju dubbelklicka. Detta kommer fungera om mottagaren av programmet har en JRE eller JDK installerat, samt får .bat-filen, din .jar-fil och alla beroenden distribuerade i t.ex en zip-fil. Om mottagaren inte har en JRE installerad så måste du hitta på ett sätt att distribuera en JRE också... det finns ju normalt inte installerat i Windows. Eller ha med installation av JRE först i installationsinstruktionen.
En JRE-installation (på Windows) associerar .jar-filer med javaw så att dubbelklick på .jar-filen fungerar. Men som sagt ovan är det troligt att programmet kraschar direkt på grund av classpath-problem. Du får antagligen inte se felmeddelandet om du inte kör från kommandorad i stället.
Om du faktiskt vill kompilera in hela din programkod, alla beroenden och java-interpretatorn i en och samma distribuerbara fil, som dessutom har filändelsen .jar och går att starta genom att dubbelklicka -- då har jag ingen aning om hur man gör. Jag gissar på "man gör inte så", men som sagt, det var 10 år sedan jag gjorde något sånt här sist
Ett Java-program jag använder på Windows ibland är SOAPUI Open Source. Dom har byggt installationsprogrammet (en dubbelklickbar .exe) i något verktyg för just det ändamålet, med stor sannolikhet inte Java. Den filen installerar bara programmet på disk, inklusive en bundlad JRE. Det finns också en SoapUI.exe i bin-mappen, men jag gissar att även det programmet är programmerat i ett annat språk än Java och bara sätter classpath och kör igång java-interpretatorn (javaw.exe). Det finns även en soapui.bat i installationsmappen som kör igång programmet, där kan man se hur man väljer mellan olika Java-interpretatorer och hur classpath sätts innan Java-interpretatorn (java.exe) anropas med ett klassnamn som argument.