Saltar al contenido

¿Por qué es útil package-info.java?

Luego de consultar expertos en la materia, programadores de diversas ramas y profesores dimos con la respuesta a la interrogande y la plasmamos en este post.

Solución:

Se utiliza para generar javadocs para un paquete.

/**
* Domain classes used to produce .....
* 

* These classes contain the ...... *

* * @since 1.0 * @author somebody * @version 1.0 */ package com.domain;

Generará información del paquete para com.domain paquete:

Resultado de ejemplo: https://docs.oracle.com/javase/7/docs/api/java/awt/package-summary.html

Anotaciones

Otra buena razón para usar package-info.java es agregar anotaciones predeterminadas para que las usen Buscar errores. Por ejemplo, si pones esto en tu archivo de información del paquete:

@DefaultAnnotation(NonNull.class)
package com.my.package;

luego, cuando findbugs se ejecuta en el código de ese paquete, se supone que todos los métodos y campos no sonnull a menos que los anote con @CheckForNull. Esto es mucho mejor y más infalible que requerir que los desarrolladores agreguen @NonNull anotaciones a cada método y campo.

No solo algunas anotaciones de findbugs, sino muchas anotaciones de Java en bibliotecas comunes tienen la java.lang.annotation.ElementType.PACKAGE tipo como uno de los posibles valores de su propio java.lang.annotation.Target anotación, por ejemplo:

com.google.gwt.core.client.js.JsNamespace
com.querydsl.core.annotations.Config
com.sun.xml.bind.XmlAccessorFactory
groovy.transform.BaseScript
java.lang.Deprecated
javax.annotation.Generated
javax.xml.bind.annotation.XmlAccessorOrder
org.hibernate.annotations.TypeDef
net.sf.ehcache.pool.sizeof.annotations.IgnoreSizeOf
org.apache.hive.common.HiveVersionAnnotation
org.apache.wicket.authroles.authorization.strategies.role.annotations.AuthorizeAction
org.codehaus.commons.nullanalysis.NotNullByDefault
org.eclipse.persistence.oxm.annotations.XmlNameTransformer
org.glassfish.jersey.Beta
org.jgroups.annotations.Experimental

y mucho más.

Este package-info.java file sería el archivo, donde puede colocar dichas anotaciones (junto con el javadoc).

Al final de la artículo puedes encontrar las explicaciones de otros gestores de proyectos, tú también tienes el poder insertar el tuyo si te gusta.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *