Является ли com.sun.org.apache тем же, что и пакет org.apache? - PullRequest
5 голосов
/ 08 мая 2010

Я имею в виду, могу ли я использовать классы com.sun.org.apache (все подпакеты), как я использую их из org.apache (в любой библиотеке Apache)?

Будет ли OpenJDK поддерживать этот пакет в актуальном состоянии с помощью обновлений apache?

А JDK7 будет поддерживать этот пакет?

Где я могу найти информацию об этом?

Ответы [ 4 ]

6 голосов
/ 08 мая 2010

Это очень плохая идея использовать его. Однажды Сунь взял копию Ксерса, переполненную ошибками. Они внесли некоторые изменения. Возможно, они вычли несколько ошибок. Мы знаем, что есть много очень серьезных ошибок, которые они не вычитали.

И они переименовали его в com.sun .... по одной причине: , чтобы вы не использовали его . В любое время, в любом выпуске, в любом патче они могут несовместимо изменять эти классы или удалять их.

Кроме того, эти классы могут отсутствовать в копиях IBM JRE, Apple, (haha) Microsoft или JRocket.

Если вы хотите Xerces, используйте Xerces. Чтобы найти информацию об этом, прочитайте архив списка рассылки Xerces-j, чтобы получить много строгих предупреждений от разработчиков Xerces о версии, разветвленной Sun.

Тот факт, что классы формально являются «публичными», ничего не значит, за исключением того, что Sun необходимо было new получить их из какого-то другого пакета.

1 голос
/ 08 мая 2010

Насколько я понимаю, это форк кода apache. В какой-то момент они были такими же, но не более. Таким образом, вы не можете рассчитывать на одни и те же исправления ошибок, присутствующие в обеих версиях.

1 голос
/ 08 мая 2010

Э-э, я бы не стал, просто исходя из того, что они являются внутренними классами, и существует риск их изменения со временем. Вместо этого используйте классы org.apache.

Понятия не имею о намерениях по их обновлению, возможно, попробуйте опубликовать сообщение на форуме openjdk:

http://mail.openjdk.java.net/mailman/listinfo

0 голосов
/ 08 мая 2010

Если документация для этого пакета гласит, что он является общедоступным, то его можно использовать.

В противном случае они могут объединить пол под вами, если решат не поддерживать его в будущем.

Обычно в JDK не следует полагаться ни на что, кроме java и javax.

...