Hoe voeg ik Annotaties op pakketniveau toe of bewerk ik package-info.java?

Ik probeer annotaties op pakketniveau toe te voegen, maar ik heb geen idee hoe dit moet. Voorbeelden worden op prijs gesteld.

35

4 antwoord

Bij zonsverduistering

Omdat package-info.java geen geldige ID voor een klasse is, kan het niet als een klasse in Eclipse worden gemaakt.

Ik ontdekte dat wanneer u een nieuw pakket maakt er een selectievakje is om te controleren of u een package-info.java wilt.

Om een ​​package-info.java bestand te maken in een bestaand pakket:

  1. Right-click on the package where you want a package-info.java.
  2. Select New->Package.
  3. Check the Create package-info.java check box.
  4. Click on Finish.
37
toegevoegd
Ik heb Juno, versie 4.2.0.
toegevoegd de auteur javabeangrinder, de bron
Werkt in 3.8.1
toegevoegd de auteur theblang, de bron
In ieder geval kunt u het bestandssysteem nog steeds rechtstreeks gebruiken ...
toegevoegd de auteur Christophe Roussy, de bron
Om een ​​dergelijk bestand aan een bestaand pakket toe te voegen, klik ik met de rechtermuisknop op het pakket in de projectverkenner → Nieuw → Overige → Bestand en geef het pakket package-info.java de naam handmatig. Ik vergeet steeds precies wat ik het bestand moet noemen en welke annotaties ik moet toevoegen, dus ik wil graag lezen van een elegantere manier.
toegevoegd de auteur Michael Scheper, de bron
bedankt, werk met eclipse.
toegevoegd de auteur wangdq, de bron
Dit werkt niet in mijn Eclipse-versie (3.7.2) - welke versie is vereist voor deze oplossing?
toegevoegd de auteur Michael Schmeißer, de bron

Summary from the article here

In package-info.java:

@PackageLevelAnnotation
package blammy;//package with a package level annotation.


import blammy.annotation.PackageLevelAnnotation;

In PackageLevelAnnotation.java

package blammy.annotation;

@Retention(RetentionPolicy.CLASS)
@Target(ElementType.PACKAGE)
public @interface PackageLevelAnnotation
{
 //stuff as required.
}

Edit: more package level info. Here is a link to the package chapter in the Java Language Spec: packages

25
toegevoegd
@DwB - Ik heb hier een gerelateerde vraag: stackoverflow.com/q/34980398/1735836 Wat te plaatsen in de plaats van < code>//dingen zoals vereist. ? Ik heb een verklaring voor Dummies nodig.
toegevoegd de auteur Patricia, de bron
Voor copy en pasters wijzigt u @Retention in RetentionPolicy.RUNTIME als u zichtbaar wilt zijn buiten de compilatie.
toegevoegd de auteur markdsievers, de bron
correct. Eén pakket-info.java voor elk pakket
toegevoegd de auteur Robin, de bron
In mijn voorbeeld hierboven moet het bestand package-info.java zich in het blammy-pakket bevinden (dat wil zeggen de blammy-brondirectory).
toegevoegd de auteur DwB, de bron
ja, één per pakket. zie bewerkingen in het antwoord voor een andere infolink
toegevoegd de auteur DwB, de bron
Laatste link is verbroken
toegevoegd de auteur barkside, de bron
Waar is package-info.java? Wordt het aangeboden of ergens of moet ik het maken? Waar zou ik dit bestand moeten maken, als dat zo is. Bedankt.
toegevoegd de auteur link_boy, de bron
Bedankt voor uw steun!
toegevoegd de auteur link_boy, de bron

Open explorer, go to src/your package folder.
right click -> Create new textfile: name it package-info.java.

Ga terug naar eclips en bewerk en voeg de gewenste inhoud toe.

3
toegevoegd

Het pakket-info.java is een Java-bestand dat aan elk willekeurig Java-bronpakket kan worden toegevoegd. Het doel is om een ​​thuis te bieden voor documentatie op pakketniveau en annotaties op pakketniveau. Maak eenvoudig het bestand package-info.java en voeg de pakketverklaring toe waar deze betrekking op heeft in het bestand. Het pakket -info.java-bestand moet alleen de declaratie van het pakket bevatten.

2
toegevoegd