Table of Contents

1. Cvičení

Toto cvičení je zaměřeno na seznámení se s prostředím učebny, vývojovým prostředím a dalšími nástroji, které budete potřebovat pro práci v semestru. Po skončení tohoto cvičení budete schopni vytvořit jednoduchý program v Javě, který získává parametry z příkazového řádku, zkompilovat ho, spustit, distribuovat na jiný počítač.

Nástroje pro práci v semestru

BRUTE

Zde budete odevzdávat svoje domácí úkoly. Adresa je https://cw.felk.cvut.cz/brute.

OwnCloud

OwnCloud je cloudové úložiště.Toto úložiště se hodí pro menší objemy dat, které chcete mít k dispozici přes webové rozhraní nebo je automaticky synchronizovat mezi svými počítači. Jako studenti ČVUT máte k dispozicici 100GB prostoru.

Návod na základní použití OwnCloud

Vývojové prostředí: Netbeans nebo IDEA

V tomto předmětu se implicitně používá pro práci vývojové prostředí Netbeans 8+, nebo IntelliJ IDEA. Pokud jste zvyklí na jiné vývojové prostředí (Eclipse a další), můžete ho samozřejmě používat i nadále, ale počítejte s tím, že se částečně připravujete o support k IDE od svého cvičícího.

Návod na instalaci a použití Netbeans nebo Návod na instalaci IntelliJ IDEA

Návod na gitlab

</br>

Jak v NetBeans vytvořit spustitelný JAR:

Je potřeba použít plugin maven-jar-plugin a do pom.xml mezi tagy <project> </project> doplnit:

...
<build>
 <plugins>
   <plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-jar-plugin</artifactId>
	<version>3.2.0</version>
	<configuration>
	  <archive>
	    <manifest>
		<mainClass>JMENO.MAIN.CLASS.KOMPLETNI</mainClass>
	    </manifest>
	  </archive>
	</configuration>
  </plugin>
 </plugins>
</build>
...

Konfigurace Mavenu pro vytvoření JAR se všemi závislostmi

...
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-assembly-plugin</artifactId>
  <version>3.2.0</version>
               
  <configuration>
   <archive>
    <manifest>
     <mainClass>JMENO.MAIN.CLASS.KOMPLETNI</mainClass>
    </manifest>
   </archive>
   <descriptorRefs>
    <descriptorRef>jar-with-dependencies</descriptorRef> <!--doplnek jmena vystupniho souboru -->
   </descriptorRefs>
   </configuration>
            
    <executions>
     <execution>
      <id>make-assembly</id> <!-- this is used for inheritance merges -->
      <phase>package</phase> <!-- bind to the packaging phase -->
      <goals>
       <goal>single</goal>
      </goals>
     </execution>
    </executions>
</plugin>
...

Úkoly na cvičení

  1. Naimportujte si zdrojové kódy programu PJV-lab01. Ke stažení zde. Zdrojový kód si projděte. S cvičícím projděte jednotlivé části kódu, abyste si byli jisti, že víte, který řádek k čemu slouží.
  2. Vytvořte program, který z příkazového řádku přečte několik čísel, ty sečte a výpše výsledek na konzoli. Pokud žádné parametry na příkazovém řádku nebudeou zadané, vypíše na chybový výstup text “No input detected!”
  3. Pokuste se program zkompilovat, vytvořit .jar soubor a spustit ho z příkazové řádky.

mudromar@desktop:~/PJV-1/lab01xx/src/cz/cvut/fel/pjv$ javac Lab01Solution.java Lab01.java 
mudromar@desktop:~/PJV-1/lab01xx/src$ java cz/cvut/fel/pjv/Lab01
Příprava a spuštení .jar balíčku - POZOR!!! v učebně nejsou správně nastaveny cesty, venujte pozornost prikazu jar!!!
mudromar@desktop:~/PJV-1/lab01xx/src$ /opt/jdk1.8.0_73/bin/jar cfe lab01.jar cz/cvut/fel/pjv/Lab01 ./cz/cvut/fel/pjv/Lab01.class ./cz/cvut/fel/pjv/Lab01Solution.class
mudromar@desktop:~/PJV-1/lab01xx/src$ java -jar lab01.jar 

Spuštění .JAR souboru vytvořeného v Netbeans bez správného manifestu:

java -cp ./mavenproject-1.0-SNAPSHOT.jar cz.cvut.fel.pjv.Lab01