2013-07-09 10 views
12

Desidero fare riferimento a un URL specifico nei commenti di JAVADOC in un progetto. Tuttavia, so che l'URL potrebbe cambiare nel prossimo futuro. Quindi, stavo cercando una funzionalità che consentisse di utilizzare una singola variabile al posto di questo URL per tutto il progetto. Quindi, se necessario, può essere facilmente modificato, ma non sono riuscito a trovarne uno.Come si possono usare le variabili nei commenti di JAVADOC?

C'è un modo per raggiungere questo obiettivo?

+0

potrei mancare qualcosa, ma una volta che la documentazione è stata generata, è statico, in modo che qualsiasi modifica al la variabile richiede di eseguire di nuovo 'javap' - quindi si può anche fare la modifica nella documentazione stessa. Penso che questo sia il caso quando si usa @value quale sorta fa ciò che si vuole, ma ha bisogno che la variabile sia nel codice – mcalex

+0

Hai guardato [qui] (http://stackoverflow.com/questions/5149667/javadoc-custom- tag)? – fge

+0

Ebbene si. Non sono nemmeno sicuro del suo corretto utilizzo. : p – ashu

risposta

6

Guardando in specifiche javadoc doc vedo questo tag: {@value}

Mostra il valore di una costante, che deve essere un campo statico.

Quindi, se si crea una classe ad esempio DocLinksHolder e si dichiarano campi statici, è possibile fare riferimento ad essi in javadoc.

{@value DocLinksHolder#fieldName} 
1

Se si utilizza Maven, è possibile utilizzare la sua funzione di filtro.

Con questo nel vostro pom:

<resources> 
    <resource> 
    <directory>src/main/java</directory> 
    <filtering>true</filtering> 
    </resource> 
</resources> 

Maven troveranno tutte le stringhe che abbinano $ {qualcosa} e sostituirli con i valori provenienti dal pom.

Ad esempio, è possibile inserire

/** 
* URL is ${url}. 
*/ 

e nel pom:

<properties> 
    <url>myUrl.com</url> 
</properties> 
+0

Beh, non sapevo di chi parla, grazie! – ashu

+0

Non si finirebbe con i file sorgente Java filtrati invece dei file Javadoc? – Puce

+0

In questo caso, sì. Dipende da cosa hai inserito nel markup del filtro ' src/main/java' –