jar

Mattepuffo's logo
Parsing della riga di comando in Java con Jargo e Guava

Parsing della riga di comando in Java con Jargo e Guava

Ho specificato Guava nel titolo, perchè Jargo la richiede come dipendenza; e, nel complesso, è Guava che pesa di più e che svolge molto lavoro dietro le quinte.

Comunque, se usate Maven, dovete aggiungere solo questa dipendenza al pom.xml:

        <dependency>
            <groupId>se.softhouse</groupId>
            <artifactId>jargo</artifactId>
            <version>0.1.1</version>
        </dependency>

Il resto lo farà Maven stesso.

Mattepuffo's logo
Aggiungere librerie esterne in Android Studio

Aggiungere librerie esterne in Android Studio

Android Studio è diventato l'IDE per eccellenza nello sviluppo di app per Android.

Utilizza gradle per gestire le dipendenze, ed inizialmente non lo trovo di facile approccio; ad esempio nell'aggiunta di librerie esterne.

Oggi vediamo come eseguire questa operazione in due modi distinti.

Mattepuffo's logo
Includere il path delle dipendenze in Maven

Includere il path delle dipendenze in Maven

Una volta finito di creare un programma in Java usando Maven, ho provato a lanciarlo fuori dall'IDE ed ho riscontrato un problema con le dipendenze:

java.lang.NoClassDefFoundError: org/apache/tika/exception/TikaException

Classico problema perchè il Manifest non trova le librerie richieste dal programma.

In sostanza bisogna modificare il Manifest per includere la directory con le librerie.

Mattepuffo's logo
Includere le librerie dentro al JAR con Maven

Includere le librerie dentro al JAR con Maven

La pratica di includere le librerie dentro JAR, non è una pratica che mi piace molto.

Però ci sono dei casi in cui può risultare comodo, se non obbligatorio.

Se usiamo Maven, è molto facile eseguire questa operazione, usando un plugin apposito: maven-assembly-plugin.

Mattepuffo's logo
Identificare il percorso corrente del Jar

Identificare il percorso corrente del Jar

Capita che le nostre applicazioni abbiamo dei file che servono al programma stesso.

In genere questi files si mettono o nella home dell'utente, o nella directory del Jar che lanciamo.

Vediamo appunto come identificare la directory del Jar principale.

Come mi è stato specificato nel forum di HTML.it, non dobbiamo preoccuparci se stiamo sotto Linux, Mac o Windows; sarà la JVM a tradurre i sepatatori di percorso (gli slash) in bakslash quando lanciamo il programma sotto Windows.

Mattepuffo's logo
Avviare file jar in avvio di Linux

Avviare file jar in avvio di Linux

Mi sono fatto un piccolo server socket in Java in grado di salvare i file in arrivo (nel mio caso un log creato da un altro programma).

Il problema era l'avvio, cioè doveva avviarsi in automatico.

Non sapendo come fare mi rivolto qui e abbiamo iniziato a fare vari tentativi, che vi riporto in sequenza.

Prima ho provato a mettere semplicemente il comando dentro rc.local:

cat /etc/rc.local
#!/bin/bash
#
# /etc/rc.local: Local multi-user startup script.
#
#/bin/sleep 15
#/etc/rc.d/sshd start
java -jar /home/casa/server.jar

Provando poi con exec prima del comando, o & alla fine.

Purtroppo non si avviava (nessun problema però se lo avviavo manualmente).