Hur man kör ett java-program på en PC. Packa och distribuera Java Desktop Applications

programvara Java programvara Web Start låter dig ladda ner och köra Java-program från Internet. Java Web Start-programvara:
  • Låter dig aktivera applikationer med ett klick
  • Säkerställer att du använder de senaste versionerna av applikationer
  • Eliminerar behovet av komplexa förfaranden installationer och uppdateringar

Så här skaffar du Java Web Start-programvaran:

Java Web Start har inkluderats i Java Runtime Environment (JRE) sedan lanseringen av Java 5.0. Det betyder att när Java installation Java Web Start installeras automatiskt. När du först laddar ett Java-program som stöder Java Web Start-teknik, startar Java Web Start-programvaran automatiskt. Java Web Start placerar det nedladdade programmet helt och hållet i din dators lokala cache. Således kommer applikationen att starta nästan omedelbart, eftersom alla resurser som behövs för detta är tillgängliga på lokal dator. Varje gång du startar en applikation söker Java Web Start efter en ny version på webbplatsen, och om det finns en, laddar den ned och kör den automatiskt.

Köra ett program med Java Web Start

Använda en webbläsare
Använder skrivbordsikonen

Om du använder ett program ofta kan du skapa en genväg på skrivbordet eller Start-menyn. Java Web Start kan uppmana dig att skapa genvägar eller poster i Start-menyn. Om "Ja" väljs kan alla efterföljande startar av programmet utföras utan webbläsare.

Använda Java Application Cache Viewer

Java Web Start tillhandahåller också en applikationscachevisning som kan startas från panelen Java-kontroller. Application Cache Viewer låter dig starta nedladdade applikationer direkt.

Instruktioner för att starta med Application Cache Viewer
  1. Öppna menyn Start > inställningar > Kontrollpanel> dubbelklicka på ikonen Java. Java-kontrollpanelen visas på skärmen.
  2. Gå till fliken Allmän
  3. Klicka på knappen Se I kapitel Tillfälliga Internetfiler
  4. Välj programmet du vill starta från listan och dubbelklicka på dess namn
Använder kommandoraden

För att köra programmet med hjälp av kommandoraden anger du kommandot javaws jnlp_url, Var jnlp_url- URL till programmets jnlp-fil.



Chrome webbläsare version 42 och högre. Från och med Chrome version 42 (släpptes i april 2015) har Chrome inaktiverat standardsättet på vilket webbläsare stöder plugins. Mer information


Ladda ner och installera Java

Prova offlineinstallationspaketet (endast Windows)

Offlineinstallationspaketet kommer ofta att slutföras framgångsrikt även om online installationspaketet har stött på ett problem. Filen för offlineinstallationspaketet är stor och tar längre tid att ladda ner än onlineinstallationsprogrammet.
» Ladda ner installationsprogrammet för Windows Offline

Avinstallera alla Java-installationer som inte fungerar

Ta bort tidigare installationer av Java som inte fungerar innan du försöker installera igen.
» Avinstallera Java för Windows
» Avinstallera Java för Mac

Stäng tillfälligt av brandvägg eller antivirusklienter

Aktiv brandvägg eller antivirusprogram kan hindra Java från att installeras korrekt. Kom ihåg att aktivera din brandvägg eller antivirusprogram igen när du har slutfört Java Installera.

Varför får jag ett meddelande om att filen är korrupt under Java-installationen?

Det här meddelandet ses oftast av Windows XP-användare. Att köra ett Microsoft-verktyg och prova offlineinstallationsprogrammet kan lösa problemet. Se Installshield FAQ för mer information.

Du kan testa din Java-installation med hjälp av instruktionerna i avsnittet nedan.

Använd Java

När du har fastställt att Java är korrekt installerat, prova följande objekt för att hjälpa dig att köra ett visst Java-program.

Starta om din webbläsare efter att du har installerat Java för att aktivera den nya versionen

Om du fortfarande uppmanas att uppdatera Java efter att du har installerat den senaste versionen, försök att starta om din webbläsare. Stäng alla webbläsarfönster, öppna sedan alla webbsidor som kräver Java igen. I de flesta fall bör en ny webbläsarsession göra den senaste installerade versionen av Java aktiv i din webbläsare.
Notera: Om du fortfarande uppmanas att uppdatera, försök att starta om systemet. Vissa system behöver en omstart för att registrera den nyinstallerade Java-plugin.

Ge tillåtelse att köra Java när webbläsaren uppmanas till det

Webbläsare kommer att be om din tillåtelse att köra Java-plugin-programmet i webbläsaren. Tillståndsmeddelandena varierar beroende på webbläsaren.
» Aktivera Java-plugin i webbläsaren

Kontrollera om Java-plugin-programmet är aktiverat i webbläsaren

Webbläsare kan inaktivera Java-plugin-programmet eller relaterade tillägg som standard. Du kan behöva konfigurera din webbläsare för att aktivera Java-plugin.
» Aktivera Java-plugin i webbläsaren

Kontrollera att Java är aktiverat i Java-kontrollpanelen

Om Java inte är aktiverat i Java-kontrollpanelen kommer du inte att kunna köra Java-program i någon webbläsare.
» Aktivera Java-innehåll i webbläsaren med hjälp av Java-kontrollpanelen

Konfigurera säkerhetsinställningar

Se till att Java-säkerhetsnivån inte hindrar programmet från att köras. Standardsäkerhetsnivån kan begränsa möjligheten att köra program som kan utgöra en risk för din dator.
» Konfigurera säkerhetsnivåinställningar i Java-kontrollpanelen

Hur kan jag köra applikationer som blockeras av säkerhetsinställningar?

Funktionen Exception Site List introducerades från och med versionen av Java 7 Update 51. Genom att lägga till programmets URL till undantagslistan kan användare köra Rich Internet Applications (RIA) som normalt skulle blockeras av säkerhetskontroller.
» Konfigurera listan över undantagsplatser

Varför kan jag inte skriva ut kuponger eller fraktetiketter?

Vissa Java-applikationer har inte uppgraderats för att möta nya Java-säkerhetsstandarder. Som ett resultat blockeras dessa appar vilket inaktiverar utskrift. Kontakta webbplatsen eller applikationsutvecklaren för att meddela dem om problemet.
» Vanliga frågor om utskriftsfrågor

Rensa Java-cache-filerna (tillfälliga).

Ibland kan en skadad fil i Java-cachen hindra ett program från att köras. Du kan säkert ta bort tillfälliga filer att Java laddar ner eftersom Java kommer att ladda ner dem igen och se till att de är uppdaterade.
» Rensa Java-cachen

Kontrollera antivirus- eller brandväggsinställningar relaterade till Java

Användare bör kontrollera med antivirussäkerhetsappar och även brandväggsinställningar för att se om det finns områden att konfigurera Java-plugins och om de kan lägga till betrodda webbplatser.

Verifiera proxyinställningar

Se till att du använder lämpliga proxyinställningar om de är nödvändiga för din specifika internetkonfiguration.
» Ställ in proxyinställningar i Java-kontrollpanelen

Avinstallera fristående JavaFX-installationer i Firefox (Windows)

En konflikt mellan Java-versioner 7u10 och högre och tidigare fristående installationer av JavaFX kan göra att Firefox inte känner igen installerade Java-versioner.
» Se Firefox-problem

Testa Java

Se till att Java är aktiverat i din webbläsare

När Java-installationen har slutförts kan du verifiera att Java fungerar i din webbläsare. Det är möjligt att Java har inaktiverats eller blockerats från att köras i din webbläsare. Hur du ger tillstånd att köra Java varierar beroende på vilken webbläsare som används.

En av favoritfrågorna för nybörjarprogrammerare i Java (och inte bara i Java)
Låt oss börja med att kompilera och köra.
För det första kan Java-applikationer inte klara sig utan en virtuell maskin för att du ska ha en, grovt sett, måste du installera JDK (; Java utveckling Kit), kan du ladda ner det direkt från Oracles webbplats, .
Vi kollar Miljövariabler som vi har.
Detta görs så här: högerklicka på "Den här datorn" -> "Egenskaper" -> "Avancerat" -> "Miljövariabler".
Variabeln PATH måste innehålla sökvägen till de körbara JDK-filerna, där java.exe(en virtuell maskin som kör bytekod kompilerad av javac.exe-verktyget) och javac.exe(kompilator, översätter filer med java-tillägget till byte-kod, filer med klasstillägget)
Så låt oss börja med att organisera mapparna.
Till exempel, för ett konsolspel om en mormor, skapar vi en Spelmapp.
Därefter måste vi skapa en mapp i den klasser Och src.
I src vi kommer att lagra filer java.
I klasser sammanställt klass filer.

Låt oss använda exemplet från artikeln.
I mappen src skapa en mapp babgame.
Varje paket paket- det här är en mapp, och babgame Vi har ett paket, glöm inte.
Det rekommenderas att namnge paket efter domännamn, eftersom Paketnamnet är unikt. Till exempel om vi har ett paket su.clan.pr0gram, då måste du först skapa tre undermappar su, då klan och på slutet pr0gram, och den innehåller redan filerna i vårt program.
Vi skapar en fil med java-tillägget i babgame och skriver programkoden där, sparar den, avslutar babgame, avslutar sedan src, går in i Game.
Att skriva ett skript för konsolen - compile.cmd

Javac -classpath ./classes -d ./classes -s ./src src/babgame/Main.java -encoding Cp1251
paus


paus kan tas bort, är detta en fördröjning om kompilatorn genererar fel.
javac- som du förmodligen redan förstått är detta en kompilator som accepterar ett par dussin parametrar, varav ett par vi använde.
-klassväg ./klasser- ange i vilken mapp vi har klasser
-d ./klasser- ange i vilken mapp vi kommer att generera klassfil s
-s ./src- ange mappen med källorna (i princip behöver du inte skriva)
src/babgame/Main.java- själva filen finns i src-mappen (för mig heter den Main.java)
Förresten, glöm inte, namnet på klassen som beskrivs i en fil med java-tillägget måste matcha namnet på filen (utan filtillägg) (i vissa system beror till och med fallet med skrivning, nedre eller övre)
-kodning Cp1251- anger i vilken kodning filen med programmets källkod ska läsas. (det antas att källan är skriven för Windows)

Den kompilerade filen kommer att placeras i mappen klasser.
Vi skriver följande manus:
kör.cmd

Java -Dfile.encoding=Cp866 -classpath ./classes Main


java- kör vår klassfil.
-Dfile.encoding=Cp866- anger i vilken kodning utgången ska produceras.
Eftersom vår konsol matar ut till Cp866 som standard kommer vi att göra det.
-klassväg ./klasser- ange mappen där vi lagrar klasser.
Main- namnet på klassen där vi har metoden main(), utan vilken programmet, som vi vet, inte startar.

Vi skapar dessa två skript i katalogen Spel, låt mig påminna dig igen.
Tja, det är allt, du kan spela fram till morgonen!

Numera skapar ingen längre program i konsolen. Genom att använda en favorit-IDE känner sig en utvecklare obekväm på någon annans dator där den inte är där.
Efter att ha bestämt mig för att förstå Ant och Mavens arbete insåg jag att jag inte kunde bygga applikationen utan dem i konsolen.
I den här artikeln försökte jag täcka alla stadier av att designa en demoapplikation, för att inte söka efter hjälp för varje kommando på Internet.

Från enkel till...

Varje program finns vanligtvis i en separat katalog. Jag håller mig till regeln att skapa minst två mappar i den här katalogen: src och bin. Den första innehåller källkoderna, den andra innehåller kompileringsresultatet. Dessa mappar kommer att ha en katalogstruktur beroende på paketen.

En fil

Du kan göra det utan extra mappar.
Låt oss ta själva HelloWorld.java-filen. public class HelloWorld ( public static void main(String args) ( System.out.println("Hello World!"); ) )
Vi går till katalogen där filen finns och kör kommandona.
javac HelloWorld.java HelloWorld.class-filen kommer att visas i den här mappen. Det betyder att programmet har sammanställts. För att starta det
java-klassväg. Hej världen

Separera binära filer från källor

Nu ska vi göra samma sak, men med kataloger. Låt oss skapa en HelloWorld-katalog och ha två mappar src och bin i den.
Sammanställning
javac -d bin src/HelloWorld.java Här indikerade vi att binära filer kommer att sparas i en separat bin-mapp och inte förväxlas med källorna.

Låt oss lansera
java -classpath ./bin HelloWorld

Vi använder paket

Annars, plötsligt, kommer programmet att sluta vara bara HelloWorld. Det är bättre att ge paket tydliga och unikt namn. Detta kommer att lägga till det här programmet till ett annat projekt utan namnkonflikt. Efter att ha läst några artiklar kanske du tror att ett paketnamn definitivt behöver en domän. Detta är fel. Domäner är bekväm väg uppnå unikhet. Om du inte har en egen domän, använd ett konto på webbplatsen (till exempel ru.habrahabr.mylogin). Det kommer att bli unikt. Observera att paketnamn måste skrivas med gemener. Och undvik att använda specialtecken. Problem uppstår på grund av olika plattformar och filsystem.

Låt oss lägga vår klass i ett paket som heter com.qwertovsky.helloworld. För att göra detta, lägg till raden i början av filen
paket com.qwertovsky.helloworld; Låt oss skapa ytterligare kataloger i src-katalogen så att sökvägen till filen ser ut så här: src/com/qwertovsky/helloworld/HelloWorld.java.
Sammanställning
javac -d bin src/com/qwertovsky/helloworld/HelloWorld.java Bin-katalogen kommer automatiskt att skapa en katalogstruktur som liknar src.
HelloWorld "---bin " "---com " "---qwertovsky " "---helloworld " "---HelloWorld.class "---src "---com "---qwertovsky "-- -helloworld "---HelloWorld.java
Låt oss lansera
java -classpath ./bin com.qwertovsky.helloworld.HelloWorld

Om det finns flera filer i programmet

Låt oss ändra programmet.
HelloWorld.java
paket com.qwertovsky.helloworld; public class HelloWorld ( public static void main(String args) ( int a=2; int b=3; Calculator calc=new Calculator(); System.out.println("Hello World!"); System.out.println( a+"+"+b+"="+beräkn.sum(a,b));
Calculator.java
paket com.qwertovsky.helloworld; importera com.qwertovsky.helloworld.operation.Adder; public class Calculator ( public int summa(int... a) ( Adder adder=new Adder(); for(int i:a) ( adder.add(i); ) returnerar adder.getSum(); ) )
Adder.java
paket com.qwertovsky.helloworld.operation; public class Adder ( privat int summa; public Adder() ( sum=0; ) public Adder(int a) ( this.sum=a; ) public void add(int b) ( summa+=b; ) public int getSum() (retursumma;) )
Sammanställning
javac -d bin src/com/qwertovsky/helloworld/HelloWorld.java src\com\qwertovsky\helloworld\HelloWorld.java:9: kan inte hitta symbol symbol: klass Kalkylatorns plats: klass com.qwertovsky.helloworld.HelloWorld Calculator calc=new Kalkylator(); ^ src\com\qwertovsky\helloworld\HelloWorld.java:9: kan inte hitta symbol symbol: klass Kalkylatorns plats: klass com.qwertovsky.helloworld.HelloWorld Calculator calc=new Calculator(); ^2 fel
Felet uppstod eftersom kompilering kräver filer med källkoderna för de klasser som används (klassen Calculator). Du måste ange katalogen med filerna till kompilatorn med växeln -sourcepath.
Sammanställning
javac -sourcepath ./src -d bin src/com/qwertovsky/helloworld/HelloWorld.java
Låt oss lansera
java -classpath ./bin com.qwertovsky.helloworld.HelloWorld Hej Word 2+3=5

Om resultatet överraskar

Det är möjligt att starta felsökaren. Detta är vad jdb är till för.
Först kompilerar vi med -g-växeln så att felsökaren har information.
javac -g -sourcepath ./src -d bin src/com/qwertovsky/helloworld/HelloWorld.java
Starta felsökaren
jdb -classpath bin -sourcepath src com.qwertovsky.helloworld.HelloWorld Initierar jdb ... >
Felsökaren startar sin interna terminal för att ange kommandon. Hjälp om det senare kan visas med hjälp av hjälpkommandot.
Ange en brytpunkt på rad 9 i klassen Calculator
> stanna vid com.qwertovsky.helloworld.Calculator:9 Uppskjutande brytpunkt com.qwertovsky.helloworld.Calculator:9. Det kommer att ställas in efter att klassen har laddats.
Låt oss börja köra.
> kör kör com.qwertovsky.helloworld.HelloWorld Ställ in ofångad java.lang.Throwable Set uppskjuten uncaught java.lang.Throwable > VM Startad: Ställ in uppskjuten brytpunkt com.qwertovsky.helloworld.Calculator:9 Hello World! Brytpunktsträff: "thread=main", com.qwertovsky.helloworld.Calculator.sum(), line=9 bci=0 9 Adder adder=new Adder();
För att komma igång kan du visa en bit källkod, där markören för närvarande är placerad.
huvudlista 5 offentlig klass Kalkylator 6 ( 7 public int summa(int... a) 8 ( 9 => Adder adder=new Adder(); 10 for(int i:a) 11 ( 12 adder.add(i); 13 ) 14 returnera adder.getSum();
Låt oss ta reda på vad variabel a är.
main print a a = instans av int (id=340) main dump a a = ( 2, 3 ) huvudstopp vid com.qwertovsky.helloworld.operation.Adder:19 Uppskjutande brytpunkt com.qwertovsky.helloworld.operation.Adder:19. Det kommer att ställas in efter att klassen har laddats.
Låt oss fortsätta utförandet.
main forts > Ange uppskjuten brytpunkt com.qwertovsky.helloworld.operation.Adder:19 Breakpoint hit: "thread=main", com.qwertovsky.helloworld.operation.Adder.add(), line=19 bci=0 19 sum+=b ; huvudlista 15 ) 16 17 public void add(int b) 18 ( 19 => summa+=b; 20 ) 21 22 public int getSum() 23 ( 24 return summa; main print summa summa = 0 main print b b = 2
Låt oss köra koden på den aktuella raden och se att summan nu är lika med 2.
huvudsteg > Steg avslutat: "thread=main", com.qwertovsky.helloworld.operation.Adder.add(), line=20 bci=10 20 ) main print summa = 2
Låt oss gå upp från Adder-klassen till Calculator-klassen som kallade den.
huvudsteg upp > Steg avslutat: "thread=main", com.qwertovsky.helloworld.Calculator.sum(), line=10 bci=36 10 for(int i:a)
Ta bort en brytpunkt
main clear com.qwertovsky.helloworld.operation.Adder:19 Borttagen: breakpoint com.qwertovsky.helloworld.operation.Adder:19 huvudsteg > Steg avslutat: "thread=main", com.qwertovsky.helloworld.Calculator.sum() , linje=12 bci=30 12 adder.add(i);
Du kan undvika att gå in i metoder genom att använda nästa kommando.
main next > Steg avslutat: "thread=main", com.qwertovsky.helloworld.Calculator.sum(), line=10 bci=36 10 for(int i:a) main next > Steg slutfört: "thread=main", com.qwertovsky.helloworld.Calculator.sum(), line=14 bci=42 14 return adder.getSum();
Vi kontrollerar uttryckets värde och genomför exekveringen.
main eval adder.getSum() adder.getSum() = 5 main cont > 2+3=5 Applikationen avslutades

Det skulle vara bra att testa

Vi använder JUnit.
paket com.qwertovsky.helloworld; importera statisk org.junit.Assert.*; importera java.util.Arrays; importera java.util.Collection; import org.junit.Test; importera org.junit.runner.RunWith; importera org.junit.runners.Parameterized.Parameters; @RunWith(value=org.junit.runners.Parameterized.class) public class TestCalculator (int förväntat; int arg; @Parameters public static Collection parameters() ( return Arrays.asList(new int(((4), (2, 2)),((-1),(4, -5)),((0),(0,0,0) ) ,((0),()) ) ) public TestCalculator(int förväntat, int arg) ( this.expected=expected; this.arg=arg; ) @Test public void testSum() ( Calculator c=new Calculator () ; assertEquals(expected,c.sum(arg));
Sammanställning
mkdir test_bin javac -classpath lib/path/junit-4.8.2.jar -sourcepath ./src -d test_bin test/com/qwertovsky/helloworld/TestCalculator.java
Låt oss starta. ";" används som en separator för flera sökvägar i klasssökvägen på Windows, och ":" på Linux. Båda separatorerna fungerar inte i Cygwin-konsolen. Kanske ";" borde fungera, men det behandlas som en kommandoavgränsare.
java -classpath lib/path/junit-4.8.2.jar:./test_bin org.junit.runner.JUnitCore com.qwertovsky.helloworld.TestCalculator JUnit version 4.8.2 .... Tid: 0,031 OK (4 tester)

Låt oss skapa ett bibliotek

Klassen Calculator har visat sig vara användbar och kan användas i många projekt. Låt oss flytta allt relaterat till klassen Kalkylator till ett separat projekt.
HelloWorld "---bin "---src "---com "---qwertovsky "---helloworld "---HelloWorld.java Kalkylator "---bin "---src " "---com " "---qwertovsky " "---kalkylator " "---Calculator.java " "---operation " "---Adder.java "---test "---com "---qwertovsky " ---calculator "---TestCalculator.java
Ändra även paketnamnen i källorna. Du måste lägga till raden i HelloWorld.java
import com.qwertovsky.calculator.Calculator;
Låt oss kompilera.
cd Calculator javac -sourcepath src -d bin src/com/qwertovsky/calculator/Calculator.java
Att göra ett burkarkiv
jar cvf calculator.jar -C bin . lagt till manifest som lägger till: com/(in = 0) (ut= 0)(lagrat 0%) lägger till: com/qwertovsky/(in = 0) (ut= 0)(lagrat 0%) lägger till: com/qwertovsky/calculator/ (in = 0) (ut= 0)(lagrad 0%) lägger till: com/qwertovsky/calculator/Calculator.class(in = 497) (ut= 373)(deflaterad 24%) lägger till: com/qwertovsky/calculator/operation /(in = 0) (ut= 0)(lagrad 0%) lägger till: com/qwertovsky/calculator/operation/Adder.class(in = 441) (ut= 299)(deflaterad 32%)
Med -C-växeln startade vi programmet i bin-katalogen.

Vi måste ta reda på vad som finns inne i biblioteket

Du kan packa upp arkivet med en zip-uppackare och se vilka klasser som finns i biblioteket.
Information om vilken klass som helst kan erhållas med javaps disassembler.
javap -c -classpath calculator.jar com.qwertovsky.calculator.Calculator Sammanställd från den offentliga klassen "Calculator.java" com.qwertovsky.calculator.Calculator utökar java.lang.Object( public com.qwertovsky.calculator.Calculator(); Code : 0: aload_0 1: invokespecial #1; //Method java/lang/Object." ":()V 4: return public int summa(int); Kod: 0: ny #2; //class com/qwertovsky/calculator/operation/Adder 3: dup 4: invokespecial #3; //Method com/qwertovsky /calculator/operation/Adder." ":()V 7: astore_2 8: aload_1 9: astore_3 10: aload_3 11: arraylength 12: istore 4 14: iconst_0 15: istore 5 17: iload 5 19: iload 4 21: if_icmpge 2: load iload iload iload 42 5 42 5 27: iaload 28: istore 6 30: aload_2 31: iload 6 33: invokevirtual #4; //Method com/qwertovsky/calculator/operation/Adder.add:(I)V 36: iinc 5, 1 39: goto 17 4 : aload_2 43: invokevirtual #5; //Method com/qwertovsky/calculator/operation/Adder.getSum:()I 46: ireturn )
Av resultatet är det tydligt att klassen innehåller, förutom en tom konstruktor, en annan summametod, inuti vilken add-metoden för klassen Adder anropas i en loop. När summametoden är klar anropas Adder.getSum().
Utan -c-växeln kommer programmet bara att producera en lista med variabler och metoder (om du använder -private, då alla).
javap -private -classpath calculator.jar com.qwertovsky.calculator.operation.Adder Sammanställd från "Adder.java" public class com.qwertovsky.calculator.operation.Adder utökar java.lang.Object( privat int summa; public com.qwertovsky .calculator.operation.Adder(); public com.qwertovsky.calculator.operation.Adder(int) public void add(int);

Det är bättre att förse biblioteket med dokumentation

Låt oss ändra miniräknarens klass för detta.
paket com.qwertovsky.calculator; import com.qwertovsky.calculator.operation.Adder; /** * En kalkylator som kan lägga till * @author Qwertovsky * */ public class Calculator ( /** * Bestämma summan av termer * @param en array av termer * @return summan */ public int summa(int.. . a) ( Adder adder=new Adder(); for(int i:a) ( adder.add(i); ) returnerar adder.getSum();
Dokumentation kan skapas med följande kommando. Om det finns ett fel kommer programmet att visa en lista med möjliga alternativ.
mkdir doc javadoc -d doc -charset utf-8 -sourcepath src -author -subpackages com.qwertovsky.calculator
Resultatet blir följande

Du kan signera burkarkivet

Om du behöver signera ditt bibliotek digitalt kommer keytool och jarsigner till undsättning.
Genererar en signatur.
keytool -genkey -keyalg rsa -keysize 2048 -alias qwertokey -keystore sökväg/to/qwerto.keystore Ange nyckellagringslösenord: Ange nytt lösenord igen: Vad är ditt för- och efternamn? : Valery Qwertovsky Vad heter din organisationsenhet? : Qwertovsky Vad heter din organisation? : Qwertovsky Vad heter din stad eller ort? : Tver Vad heter din stat eller provins? : Tverskaya obl. Vad är tvåbokstavslandet kod för denna enhet? : RU Är CN=Valery Qwertovsky, OU=Qwertovsky, O=Qwertovsky, L=Tver, ST=Tverskaya obl., C=RU korrekt? : y Enter-tangenten lösenord för (RETURNERA om samma som nyckellagringslösenordet): Ange nytt lösenord igen:
Generera certifikatsigneringsbegäran (CSR)
keytool -certreq -filsökväg/to/qwertokey.crt -alias qwertokey -keystore sökväg/to/qwerto.keystore
Innehållet i den mottagna filen skickas till certifieringsmyndigheten. Vi får ett certifikat från certifieringsmyndigheten. Vi sparar den i en fil (till exempel qwertokey.cer) och importerar den till lagringen
keytool -import -trustcacerts -keystore sökväg/to/qwert.keystore -alias qwertokey -fil sökväg/to/qwertokey.cer
Signerar burkarkivet
jarsigner -keystore sökväg/to/qwerto.keystore calculator.jar qwertokey
Vi skickar filen qwertokey.cer till alla som vill kolla i arkivet. Det är kontrollerat så här
jarsigner -verify -verbose -certs -keystore sökväg/to/qwerto.keystore calculator.jar

Använder biblioteket

Det finns ett HelloWorld-program som använder biblioteksklassen Calculator. För att kompilera och köra programmet måste du inkludera biblioteket.
Sammanställning
cd HelloWorld javac -sourcepath src -d bin -classpath sökväg/to/calculator.jar src/com/qwertovsky/helloworld/HelloWorld.java
Låt oss lansera
java -classpath bin:path/to/calculator.jar com.qwertovsky.helloworld.HelloWorld

Att sätta ihop programmet

Detta kan göras på olika sätt.

Första sättet

cd HelloWorld echo main-class: com.qwertovsky.helloworld.HelloWorld>manifest.mf echo class-path: lib/calculator.jar >>manifest.mf mkdir lib cp path/to/calculator.jar lib/calculator.jar jar - cmf manifest.mf helloworld.jar -C bin .
Det finns finesser här.
I kö
huvudklass: com.qwertovsky.helloworld.HelloWorld
det ska inte finnas några mellanslag i slutet.
Den andra subtiliteten beskrivs i: i samma rad ska det finnas en överföring till nästa rad. Detta är om manifestet är arkiverat av en tredjepartsarkiverare.
Burkprogrammet kommer inte att ingå i manifestet sista raden från manifestet, om det inte finns en radbrytning i slutet.
En annan punkt: manifestet bör inte ha tomma rader mellan raderna. Felet "java.io.IOException: ogiltigt manifestformat" kommer att visas.

När du använder ekokommandot behöver du bara se efter utrymmet i slutet av huvudklassens linje.

Andra sättet

cd HelloWorld echo class-path: lib/calculator.jar >manifest.mf mkdir lib cp path/to/calculator.jar lib/calculator.jar jar -cmef manifest.mf com.qwertovsky.helloworld.HelloWorld helloworld.jar -C bin .
I den här metoden undviker vi felet med ett mellanslag i huvudklassen.

Tredje vägen

cd HelloWorld mkdir lib cd lib jar -xvf sökväg/to/calculator.jar com/ skapad: com/ skapad: com/qwertovsky/ skapad: com/qwertovsky/calculator/ uppblåst: com/qwertovsky/calculator/Calculator.class skapad: com /qwertovsky/calculator/operation/ uppblåst: com/qwertovsky/calculator/operation/Adder.class cd .. cp -r bin/* lib/ jar -cef com.qwertovsky.helloworld.HelloWorld helloworld.jar -C lib . rm -r lib
Vi inkluderade koden för det nödvändiga biblioteket i den körbara filen.

Kör den körbara jar-filen

Filen calculator.jar är inte körbar. Men helloworld.jar kan lanseras.
Om arkivet skapades med de två första metoderna, bör det finnas en lib-mapp med filen calculator.jar bredvid det i samma katalog. Sådana begränsningar beror på det faktum att klasssökvägen i manifestet anger sökvägen i förhållande till den körbara filen.
cd Calculator ls ../HelloWorld/lib calculator.jar java -jar ../HelloWorld/helloworld.jar
När du använder den tredje metoden ingår de nödvändiga biblioteken i den körbara filen. Det finns ingen anledning att ha de nödvändiga biblioteken i närheten. Det börjar på samma sätt.
java -jar ../HelloWorld/helloworld.jar

Vad man ska göra med JavaEE-applikationer

Likaså. Endast bibliotek för kompilering behöver tas från applikationsservern som används. Om jag använder JBoss skulle jag behöva göra något i stil med följande för att kompilera servleten
javac -classpath path/to/jboss/common/lib/jboss-servlet*.jar -d ./classes src/com/qwertovsky/app/servlets/MenuSt.java
Arkivstrukturen för en JavaEE-applikation måste följa ett specifikt format. Till exempel
my.ear `---META-INF | `---manifest.mf `---lib | `---mylib.jar `---my.war | `---META-INF | | `---manifest.mf | `---WEB-INF | | `---lib | | | `---myweblib.jar | | `---klasser | | | `---com | | | `---... | | `---web.xml | `---index.html | `---<остальное веб-содержимое (страницы, изображения)>`---myejb.jar
Metoderna för att köra programmet på själva servern med hjälp av kommandoraden är olika för varje server.

Jag hoppas att den här artikeln kommer att bli ett fuskblad för någon att arbeta med Java på kommandoraden. Dessa färdigheter hjälper dig att förstå innehållet och innebörden av Ant-manus och svara på fler frågor vid en intervju. knepiga frågorän "Vilken IDE föredrar du?"

Om webbläsaren spelar upp videor utan problem, är sajterna fulla av onlineapplikationer och njuter av olika bekväma funktioner- Betyder att, Java plugin påslagen och fungerar bra. Java används av de flesta webbplatser, så om de felaktig funktion det finns ett behov av att ta reda på hur man möjliggör stöd för denna teknik.

För Google Chrome: gå in adressfält webbläsarkommandot "about:plugins". I listan över plugins, hitta Java och kontrollera dess status. Om "Aktivera" visas klickar du på det. När plugin-programmet är aktiverat visas meddelandet "Inaktivera" på skärmen. Så att du inte behöver bekräfta i framtiden. aktivera Java, markera rutan bredvid "Alltid tillåtet". Du kan stöta på en situation där Java inte är installerat alls. Sedan kan du följa länken och kontrollera den genom att klicka på motsvarande rad. Om tjänsten upptäcker frånvaron av en Java-plugin kommer du att uppmanas att ladda ner och installera den. Efter lyckad installation visas en begäran om att aktivera Java i webbläsarfönstret, eller så måste du aktivera det på det sätt som beskrivs ovan. För Mozilla FireFox: ring webbläsarmenyn (överst till höger på skärmen) och gå till avsnittet "Tillägg". I fönstret som öppnas, gå till fliken "Plugins" och hitta i listan över tidigare installerade Java-program(TM) Plattform. Ställ in parametervärdet Java fungerar"Sätt alltid på." Om Java inte finns i listan över plugins måste du först installera det via länken. För Opera: eftersom den här webbläsaren redan har inbyggd Java-komponenter, är det aktiverat samtidigt tillsammans med alla plugins. För att göra detta, i menyn "Inställningar", hitta fliken "Webbplatser", aktivera sedan alternativet "Starta automatiskt" i avsnittet "Plugins". För Internet Explorer: i webbläsarens menyalternativ, som kan öppnas genom att klicka på kugghjulsikonen till höger övre hörnet eller genom att trycka på Alt+X, välj "Internetalternativ". Hitta sedan fliken "Säkerhet" och klicka på knappen "Övrigt". En imponerande lista med parametrar kommer att visas, bland vilka du måste hitta objektet "Kör Java-applikationsskript" och aktivera det. För Yandex Browser: aktivering av Java utförs nästan identiskt med den här processen i Chrome. Skriv "browser://plugins" i adressfältet och tryck på "Enter". Ett fönster öppnas med en lista över installerade plugins. Om Java-pluginet är inaktiverat kommer kommandot Enable att vara aktivt och teckensnittet blir ljust. Efter aktivering, markera rutan bredvid "Tillåt alltid" och stäng inställningsfönstret.

Nu vet du inte bara hur du aktiverar Java-stöd i din webbläsare. Om problem uppstår med andra plugins kommer algoritmen för åtgärder att vara densamma. Observera att Java och JavaScript inte är samma sak, och stöd för det senare är aktiverat på ett helt annat sätt.