Eclipse, Maven

[maven] errore durant mvn install -> com.google.inject.ProvisionException: Guice provision errors

Eseguendo il comando mvn install su di un progetto su eclipse, capita di avere questo errore:

[ERROR] Error executing Maven.
[ERROR] com.google.inject.ProvisionException: Guice provision errors:

1) Error in custom provider, java.lang.TypeNotPresentException: Type javax.enterprise.inject.Typed not present
at ClassRealm[plexus.core, parent: null]

Questo errore nel caso più semplice è dovuto al fatto che il vostro progetto gira su di una jre vecchia o comunque inferiore alla versione 1.6.

Per risolvere il problema controllate la JRE di default del vostro progetto e portatela ad una versione 1.6 oppure superiore.

Annunci
Eclipse, Maven

[Maven] Aggiunge archetype repository maven JBOSS a eclipse

Per aggiungere il repository maven di jboss, in eclipse basterà seguire la seguente guida

https://docs.jboss.org/author/display/AS7/Creating+your+own+application?_sscc=t

Dove al minuto 00:43 si chiede di inserire la seguente url https://repository.jboss.org/nexus/content/groups/public/archetype-catalog.xml , che nel video non si riesce a notare chiaramente.

Subito dopo si avranno a disposizione i repo maven di jboss.

Eclipse, JAVA

Dire addio alle NullPointerException velocemente e semplicemente

Uno tra i peggiori e maggiormente insidiosi nemici del buon codice è il lancio di una NullPointerException. Peggiori perché molto frequente e insidiosi perché molto difficile da prevedere se non applicando una buona dose di attenzione durante la scrittura del codice.
Nel tempo sono state proposte varie soluzioni: si va dall’utilizzo di tipi cuscinetto (Optional<T>) alla scrittura di nuovi linguaggi (Ceylon) o di costrutti zuccherosi (Groovy ‘?’), ma nulla di applicabile velocemente e semplicemente al linguaggio Java.

A dire il vero la soluzione era già stata proposta con la JSR-305 il cui processo di inclusione nella specifica Java è attualmente ad un punto morto.
Fortunatamente la comunità di sviluppatori è più rapida ed è presente un’implementazione ospitata su Google Code e presente anche sui repository Maven.

La soluzione proposta sarebbe questa: si applica l’annotazione @Nullable alle variabile che ci si aspetta possano essere null, mentre si usa @Nonnull per quelle che ci si aspetta non possano mai essere null. Semplice e veloce. Ci penserà poi il compilatore/analizzatore statico di codice a verificare che non rischiamo di incorrere nell’odiata eccezione senza volerlo.
Nella versione ottimizzata vi è anche la possibilità di annotare il package per definire una semantica predefinita ed annotare solo le variabili nulle o viceversa.

Si dia il caso che questa sia proprio la soluzione ideale per Java. È infatti sufficiente configurare il proprio IDE per utilizzare queste annotazione nella fase di compilazione del codice ed impedirci così di incorrere in NullPointerException indesiderate. Senza contare che i principali software di analisi statica del codice utilizzano o possono utilizzare queste semplici annotazioni per metterci in guardia da accessi non controllati.

Eclipse, Maven, STS 2.9

[maven] “Updating Maven Project”. Unsupported IClasspathEntry kind=4

Utilizando sts 2.9.2 (eclipse indigo) scaricando un progetto ex-novo da svn, ho avuto il seguente problema:

"Updating Maven Project". Unsupported IClasspathEntry kind=4

Dopo  aver utilizzato la funzionalità del plugin di eclipse per maven, con cui ho associato la natura maven al progetto.

Nel momento in cui cercavo di aggiornare il progetto, venivo bloccato con il messaggio di sopra.

Cercando in giro ho trovato la seguente soluzione:

  1. togliere la natura di tipo maven al progetto, con il tasto destro sul progetto e poi  Maven -> disable maven nature
  2. aggiornare il plugin di maven, io per maggiore sicurezza l’ho disintallato e reinstallato exnovo, dal market place;
  3. Andare all’interno della cartella di progetto ed eseguire tramite console il seguente comando mvn eclipse:clean, il tutto con sts ancora aperto
  4. ri-abilitare la natura maven al progetto con il tasto destro sul progetto Configure -> convert to maven projects

Fatto ciò tutto ha funzionato di nuovo

Sito di riferimento : http://stackoverflow.com/questions/10564684/how-to-fix-error-updating-maven-project-unsupported-iclasspathentry-kind-4

Eclipse, STS 2.9

[eclipse] validation message unknown error

Utilizzando Spring sts 2.92 (con Eclipse Indigo), programmando su di un progetto vaadin.

Ad un certo punto mi sono ritrovato con questo errore, nella sezione “MARKERS”:

validation message unknown error

Per risolvere il problema è necessario, chiudere il progetto e cancellare il file .markers che si trova all’interno del vostro workspace esattamente:

WORKSPACE/.metadata/.plugins/org.eclipse.core.resources/.projects/${PROJECT}/.markers

Dove ${PROJECT} è il nome del vostro progetto. Una volta che è stato eliminato, basterà ri-aprire il vostro progetto e fare un clean & build, e il problema è risolto.

Link di riferimento: http://stackoverflow.com/a/9581798

Eclipse

[Eclipse] i miei plugins preferiti per eclipse

Qui di seguiti segnalero quelli che penso i migliori plugins per eclipse:

Utilità:

  • ExploreFS: abilità un’icona nel menu contestuale che permette di aprire all’istante una finestra di explorer, nel punto del progetto che si desira, molto utile quando si vogliono effettuare delle operazioni particolari direttamente sui file senza passare da eclipse (purtroppo deve essere installato manualmente e non tramite il marketplace);
    url: http://junginger.biz/eclipse/
  • Byte Code Visualizer: Permette di visionare il bite code delle classi, che altrimenti sarebbe offuscato, molto simile a JD Gui, che purtroppo non ha più un plugin per eclipse funzionante
    http://marketplace.eclipse.org/content/bytecode-visualizer#.UNHiim_8L4M
  • JREBEL: Permette di effettuare una compilazione run-time delle classi java, ed avere il risultato delle proprie modifiche direttamente senza dover riavviare il server