Pacchetti Java com e org


126

Qual è il significato dei pacchetti orge comin Java?

Risposte:


113

Secondo Sun , i pacchetti dovrebbero avere lo spazio dei nomi in base all'inverso del nome di dominio e quindi seguiti da ciò che ritieni opportuno. La maggior parte delle aziende o organizzazioni ha un nome di dominio .como .org, quindi la maggior parte dei pacchetti inizia con com.o org.. Per citare le convenzioni del codice solare :

Il prefisso di un nome di pacchetto univoco è sempre scritto in lettere ASCII tutte minuscole e dovrebbe essere uno dei nomi di dominio di primo livello, attualmente com, edu, gov, mil, net, org o uno dei codici di due lettere inglesi identificare i paesi come specificato nella norma ISO 3166, 1981.

I componenti successivi del nome del pacchetto variano in base alle convenzioni di denominazione interne di un'organizzazione. Tali convenzioni potrebbero specificare che alcuni componenti del nome di directory siano nomi di divisione, reparto, progetto, macchina o login.

E gli esempi che forniscono rendono abbastanza chiaro che si intende utilizzare il nome DNS della società:

com.sun.eng

com.apple.quicktime.v2

edu.cmu.cs.bovik.cheese

Vedrai anche edu.e net.pacchi in natura , anche se sono meno comuni.


3
E se l'azienda cambia dominio?
Leonardo Raele

4
@LeonardoRaele In genere in questo caso entri in un mondo di dolore ;-) Più seriamente, ci sono due opzioni, rinomina tutte le classi, che possono funzionare se il codice è interno comunque, o lascialo usando il vecchio nome, poiché probabilmente lo farà essere comunque unico.
Paul Wagland

2
Qual è la migliore convenzione di denominazione per quando non fai parte di un'organizzazione o non hai un sito web? Ho visto me.usernamesuggerimenti prima ma non sono sicuro che sia il migliore o l'unico standard.
Aaron Franke

2
@AaronFranke Ho visto persone usare il loro nome utente GitHub come dominio, quindi, ad esempio: com.guthub.pwagland.xxx lo scopo principale è ottenere un nome univoco, in modo da non doverlo cambiare e non entrerà mai in conflitto con il nome che qualcun altro ha scelto.
Paul Wagland

1
cosa succede se la tua azienda ha 2 domini, ovvero wordpress.com e wordpress.org
Janac Meena

48

Puoi anche vedere i nomi dei pacchetti come nomi di dominio Internet invertiti (che spesso è vero anche nel mondo reale, vedi ad esempio il org.apache.commonsquale è correlato a http://commons.apache.org ). Il com(commerciale) e org(organizzazione) sono qui quindi effettivamente nomi di dominio di primo livello .

I nomi dei pacchetti sono in generale solo per identificare il produttore / fornitore del codice che stai affrontando.


16
E per garantire l'unicità del nome del pacchetto. Penso che sia un modo abbastanza intelligente per farlo
Thorbjørn Ravn Andersen

2
Potrei sbagliarmi, ma com suona inutile a questo punto se tutti lo useranno. Preferisco usare solo il nome dell'azienda da solo. Preferisco il sistema di denominazione che hanno per altri sistemi di packaging come npm e composer. Usano "username / packageName" o qualcosa di simile. Quindi
denominerei i

9

Di solito comviene utilizzato dalle aziende quando si nominano i pacchetti, comseguito dal nome dell'azienda. Ad esempio, hai i com.sunpacchetti nella JVM.

Il orgprefisso del pacchetto viene utilizzato principalmente da organizzazioni senza scopo di lucro o per codice open source, come apache, w3c, ecc.


La convenzione di utilizzare l'URL .com di un'azienda per il codice interno e .org per qualsiasi codice reso pubblico è una buona idea. Questo è ciò che ho riassunto da questa risposta.
Dennis

3
Dennis, non credo che sarebbe una buona idea. Significa che il rilascio del codice cambierebbe i nomi dei pacchetti e interromperà il software interno che utilizza i nomi originali. Inoltre, ci sarebbe una collisione dello spazio dei nomi se example.com ed example.org sono di proprietà di società diverse ed entrambi desiderano rilasciare codice Java.
proski

3

Vedere il documento Oracle per la denominazione dei pacchetti

Vedere Convenzioni di denominazione per la denominazione standard di classe / interfaccia / annotazioni / ecc

nome del pacchetto e sintassi standard della classe:
<il tuo dominio al contrario>. <nome del progetto>. <controller / dao / service / handlers ecc>. <la tua classe>

esempio1: (qui dominio: - "stackoverflow.com", progetto: - "Test")
com.stackoverfllow.test.handler.TestHandler

esempio2: (qui dominio: - "www.google.co.in", progetto: - "My Proj")
in.co.google.myproj.controller.MainController

ma per i domini riservati come java. *, javax. *, sun. *, ecc. dovresti ottenere l' autorizzazione dalla comunità Oracle

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.