Java 패키지 com 및 org


답변:


113

Sun 에 따르면 패키지는 도메인 이름의 역에 따라 네임 스페이스를 지정한 다음 적절하다고 판단되는 이름을 따라야합니다. 대부분의 회사 또는 조직에는 .com, 또는 .org도메인 이름이 있으므로 대부분의 패키지는 com.또는로 시작 org.합니다. Sun Code Conventions 에서 인용하려면 :

고유 한 패키지 이름의 접두사는 항상 모두 소문자 ASCII 문자로 작성되며 최상위 도메인 이름 중 하나, 현재 com, edu, gov, mil, net, org 또는 영어 두 글자 코드 중 하나 여야합니다. ISO 표준 3166, 1981에 명시된 국가 식별.

패키지 이름의 후속 구성 요소는 조직의 내부 명명 규칙에 따라 다릅니다. 이러한 규칙은 특정 디렉토리 이름 구성 요소가 부서, 부서, 프로젝트, 기계 또는 로그인 이름임을 지정할 수 있습니다.

그리고 그들이 제공하는 예를 통해 회사 DNS 이름을 사용한다는 것을 분명히 알 수 있습니다.

com.sun.eng

com.apple.quicktime.v2

edu.cmu.cs.bovik.cheese

당신은 또한 볼 edu.net.밖으로 패키지 야생에서 그들이 덜 일반적인 있지만,뿐만 아니라.


3
회사가 도메인을 변경하면 어떻게됩니까?
Leonardo Raele 2013 년

4
@LeonardoRaele 일반적으로이 경우에는 고통의 세계로 들어갑니다 ;-) 더 진지하게, 모든 클래스의 이름을 바꾸는 두 가지 옵션이 있습니다. 코드가 내부에있는 경우 작동 할 수 있거나 이전 이름을 사용하여 남겨 둘 것입니다. 어쨌든 여전히 고유합니다.
Paul Wagland

2
조직의 일원이 아니거나 웹 사이트가 없을 때 가장 적합한 명명 규칙은 무엇입니까? 나는 me.username전에 제안을 보았지만 그것이 최고인지 유일한 표준인지 확실하지 않습니다.
아론 프랑케

2
@AaronFranke 저는 사람들이 GitHub 사용자 이름을 도메인으로 사용하는 것을 보았습니다. 예를 들어 : com.guthub.pwagland.xxx 주 목적은 고유 한 이름을 가져 오는 것이므로 변경할 필요가 없습니다. 다른 사람이 선택한 이름과 충돌하지 않습니다.
폴 Wagland

1
당신의 회사는이 개 도메인이 어떤 경우 즉, wordpress.com과 wordpress.org
Janac 미나

48

또한 패키지 이름을 역방향 인터넷 도메인 이름으로 볼 수도 있습니다 (실제 세계에서도 마찬가지입니다. 예를 들어 http://commons.apache.orgorg.apache.commons 와 관련된 이름 참조 ). (상업)(조직) 여기에 실제로 최상위 도메인 이름.comorg

패키지 이름은 일반적으로 직면하고있는 코드의 제조업체 / 공급 업체를 식별하기위한 것입니다.


16
그리고 패키지 이름 고유성을 보장합니다. 나는 그것이 그것을하는 꽤 현명한 방법이라고 생각합니다
Thorbjørn Ravn Andersen

2
내가 틀렸을 수도 있지만 모든 사람이 사용하려는 경우 com은이 시점에서 불필요하게 들립니다. 차라리 회사 이름 만 사용하고 싶습니다. npm 및 composer와 같은 다른 패키징 시스템에 사용되는 명명 시스템을 선호합니다. 그들은 'username / packageName'또는 이와 유사한 것을 사용합니다. 그래서 저는 자바에있는 패키지 이름을 'username.packagename'으로 지정합니다
OzzyTheGiant

9

일반적 com으로 회사 이름 com뒤에 패키지 이름을 지정할 때 회사에서 사용합니다. 예를 들어 com.sunJVM에 패키지가 있습니다.

org패키지 접두어는 주로 등 아파치, W3C와 같은 비영리 단체 또는 오픈 소스 코드에 사용됩니다


내부 코드에는 comapany의 .com URL을 사용하고 공개 된 코드에는 .org를 사용하는 것이 좋습니다. 이것이 제가이 답변에서 요약 한 것입니다.
Dennis

3
데니스, 좋은 생각이 아닐 것 같아요. 이는 코드를 공개하면 패키지 이름이 변경되고 원래 이름을 사용하는 내부 소프트웨어가 손상됨을 의미합니다. 또한 example.com과 example.org가 서로 다른 회사의 소유이고 둘 다 Java 코드를 릴리스하려는 경우 네임 스페이스 충돌이 발생합니다.
proski

3

패키지 이름 지정 은 Oracle 문서 를 참조하십시오.

클래스 / 인터페이스 / 주석 / 기타 표준 명명에 대한 명명 규칙 을 참조하십시오.

패키지 이름 및 클래스 표준 구문 :
<역방향 도메인>. <프로젝트 이름>. <controller / dao / service / handlers etc>. <your class>

example1 : (여기서 domain :- "stackoverflow.com", project :- "Test")
com.stackoverfllow.test.handler.TestHandler

example2 : (여기 도메인 :- "www.google.co.in", 프로젝트 :- "My Proj")
in.co.google.myproj.controller.MainController

그러나 java. *, javax. *, sun. * 등과 같은 예약 된 도메인의 경우 Oracle 커뮤니티에서 권한 을 받아야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.