Der Name meines Domain-Namens ist 3DTOPO.com. Anscheinend erlaubt Java nicht, dass Paket-Domain-Namen mit einer Nummer beginnen.
Warum folgt der Java-Reverse-Domain-Name nicht denselben Regeln wie Domain-Namen? Ich möchte wirklich mein Paket com.threedtopo nicht nennen ....
Für den Anfang ist das nicht mein Domain Name! Jeder andere wäre frei, diese Domain zu registrieren und zu nutzen. Außerdem ist es sehr peinlich und nicht der Name meiner Firma.
Hat jemand Vorschläge für Paketnamen?
Nach RFC 1912 ,
Zulässige Zeichen in einem Label für einen Hostnamen sind nur ASCII Buchstaben, Ziffern und das Zeichen "-". Etiketten sind möglicherweise nicht alle Zahlen, aber möglicherweise eine führende Ziffer (z. B. 3com.com). Labels müssen Ende und beginne nur mit einem Buchstaben oder einer Ziffer. Siehe [RFC 1035] und [RFC 1123]. (Etiketten waren zunächst in [RFC 1035] zunächst eingeschränkt ein Brief, und einige ältere Gastgeber haben Berichten zufolge noch Probleme mit die Entspannung in [RFC 1123].) Beachten Sie, es gibt einige Internet Hostnamen, die gegen diese Regel verstoßen (411.org, 1776.com). Die Präsenz von Unterstrichen in einem Label ist erlaubt in [RFC 1033], außer [RFC 1033] ist nur informativ und definiert keinen Standard. Es gibt mindestens eine gängige TCP / IP-Implementierung, die es derzeit ablehnt sprechen Sie mit Hosts, die mit Unterstrichen in ihnen benannt sind. Es muss darauf hingewiesen werden, dass Die Sprache in [1035] ist so, dass diese Regeln freiwillig sind - sie gibt es für diejenigen, die Probleme minimieren möchten. Notiere dass der Regeln für Internet-Hostnamen gelten auch für verwendete Hosts und Adressen in SMTP (siehe RFC 821).
Also die erlaubenden Ziffern an der Vorderseite von Domain-Namen begann nicht bis RFC 1123 , in 1989.
Bemerkenswert ist, dass sie 1990 angefangen haben, Java zu schreiben. Domains, die mit Zahlen begannen, waren wahrscheinlich bis dahin nicht üblich, daher passten Paketnamen zu Hostnamen.
Paketnamen müssen nicht direkt den Domänennamen entsprechen. Domain-Namen sind für mich temporär - sie können gekauft und verkauft werden. Paketnamen können viel länger als Domänennamen dauern.
Was es wert ist, hat 3com gelöst, indem er eine andere Domain gekauft hat. ;-) Sie haben com.palm.webos
für irgendeine Software benutzt.
Ich denke, Sie meinen, dass Java Paketnamen nicht mit einer Zahl beginnen darf.
Eine gängige Alternative ist es, es mit einem Unterstrich, _3dtopo, vorzuschlagen.
Sun / Oracle spricht diese Frage im Abschnitt Benennen eines Pakets im Java-Lernprogramm speziell an :
In einigen Fällen ist der Internetdomänenname möglicherweise kein gültiger Paketname. Dies kann auftreten, wenn der Domänenname einen Bindestrich oder ein anderes Sonderzeichen enthält, wenn der Paketname mit einer Ziffer oder einem anderen Zeichen beginnt, das als Anfang eines Java-Namens unzulässig ist, oder wenn der Paketname ein reserviertes Java-Schlüsselwort enthält. wie "int". In diesem Fall besteht die vorgeschlagene Konvention darin, einen Unterstrich hinzuzufügen.
Sie fahren fort, ein paar Beispiele zu geben, wobei die relevante in diesem Fall die Domäne 123name.example.com
wird, die zu Paket com.example._123name
wird.