Portál AbcLinuxu, 5. května 2025 16:48

Dotaz: Java - první spuštění programu, jak na to

10.1.2015 02:25 Dan
Java - první spuštění programu, jak na to
Přečteno: 1721×
Odpovědět | Admin
Zdravím, omlouvám se za začátečnický dotaz, ale začínám v Javě a nějak nechápu základní věc. Aplikace v IDE mi spustit jde, ale nevím jak ji spustit bez IDE. Po prvním zkompilování se mi vytvořili tři soubory s koncovkou class. Tedy přesně Main.class, User.class a Test.class. Jsou to tři třídy které jsem si vytvořil. Ale teď nějak nechápu jak to spustit. Používám IntelliJ IDEA. Díky za nakopnutí.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

10.1.2015 09:02 soyo
Rozbalit Rozbalit vše Re: Java - první spuštění programu, jak na to
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zdar,

staci spustit:

java -cp <cesta-k-triedam> <trieda>

Takze ak idea skompiluje triedy do <mojProjekt>/target/classes a moja hlavna trieda (obsahujuca staticku metodu main) je org.example.ibatak.Main, potom to bude vyzerat:

java -cp <mojProjekt>/target/classes org.example.ibatak.Main

(predpokladame, ze existuje <mojProjekt>/target/classes/org/example/ibatak/Main.class)

a pokial program potrebuje aj nejake resources, tak je bud potrebne ich mat dostupne cez relativnu cestu alebo zakomponovat ich do jaru, cim sa dostanu na classpath a budu dostupne cez napr. Main.class.getResources(...)

A ked postupne pribudnu externe zavislosti, je fajn si na to napisat skript.

Vela zdaru.
10.1.2015 20:19 Dan
Rozbalit Rozbalit vše Re: Java - první spuštění programu, jak na to
Děkuji. Bohužel jsem to zkoušel a stále mi to nejde. Zkoušel jsem to na windows i Linux Ubuntu a vždy stejná odpověď. Postup: 1) Vytvořím si zcela nový projekt v InteliJ IDEA s názvem test1
2) Base package nechám na výchozí -> com.company
3) Vytvoří se mi nová třída a já jen přidám "Hello world"
package com.company;

public class Main {

    public static void main(String[] args) {
	    System.out.println("Hello world");
    }
}
4) Zvolím Build -> make project
Poté vlezu z terminálu do složky:
$ cd out/production/test1/com
$ java -cp company com.company.Main
Error: Could not find or load main class com.company.Main
Něco určitě dělám špatně, jen to stále nevidím :-( Nějaké rady? Díky moc!!!
10.1.2015 21:07 Filip Jirsák
Rozbalit Rozbalit vše Re: Java - první spuštění programu, jak na to
To com je už součást package. A do classpath (-cp) musíte zadat adresář, ve kterém jsou teprve umístěny package. Takže:
java -cp out/production/test1 com.company.Main
nebo
cd out/production/test1
java -cp . com.company.Main
12.1.2015 16:25 Dan
Rozbalit Rozbalit vše Re: Java - první spuštění programu, jak na to
Super, tohle funguje. Díky moc :-) Začátky jsou težké...
10.1.2015 12:11 Filip Jirsák
Rozbalit Rozbalit vše Re: Java - první spuštění programu, jak na to
Odpovědět | | Sbalit | Link | Blokovat | Admin
Soyo popisuje nejjednodušší spuštění takto vytvořeného programu. Obvykle se ale Java aplikace a knihovny balí do souborů JAR. Potom máte několik souborů JAR, jeden z nich je hlavní a má v sobě uvedeny názvy těch ostatních souborů a hlavní třídu, která se má spustit. Celou aplikaci pak spustíte příkazem
java -jar hlavni.jar
V IntelliJ Idea máte možnost nechat si vytvořit skript pro Ant, který to sestavení do JAR souboru udělá. Osobně bych ale doporučil použít pro sestavení modernější nástroj, nejlépe Gradle nebo alespoň Maven. Oceníte to, jakmile budete mít trošku větší projekt. JAR soubor lze vytvořit i z příkazové řádky nástrojem jar, který je součástí JDK. Na jednu stranu je dobré vědět, jak to vespod funguje a co se za IDE a těmi buildovacími nástroji skrývá, na druhou stranu když to jako začátečník budete řešit pomocí těch nízkoúrovňových nástrojů, budete pořád řešit to, místo abyste programoval.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.