Разница между ними.банка и.DLL-файл


Я изучаю Java в эти дни, и я провел много времени с .NET, поэтому, когда я хочу экспортировать или импортировать библиотеки, они обычно находятся .формат dll, который называется сборкой в среде .Net, и они компилируются в IL, и они могут иметь такие ресурсы, как изображения, xml, аудио и сын, любыми способами.

Мне интересно тот же процесс в Java, а также. Я читал документы, но они на самом деле смутили меня немного и чтобы прояснить ситуацию мне нужна ваша помощь ребята.

вопросы:

  1. .NET сборка-это то же самое, что и java .банку?
  2. .dll содержит скомпилированный IL код И.баночка содержит комплимент .файлы класса / байтового кода?
  3. Они говорят ресурсы, о каких ресурсах мы здесь говорим? Изображения. ,txt файлы и т. д. или все возможно?

  4. Я изучил AWS (Amazon Web Service API for java) и увидел три .jar-файл и они

    1. aws-java-sdk-1.1.1.банку
    2. aws-java-sdk-1.1.1-javadoc.банку
    3. aws-java-sdk-1.1.1-исходники.банку

и они содержат .файлы классов-документация java в формате html И.java-файлы, которые все еще не скомпилированы. И тогда я понял .jar не просто включает скомпилированные байтовые коды (.класс), а также другие вещи.

  1. когда я хочу импортировать библиотеки java, мне всегда нужно будет импортировать .файлы jar?
  2. когда я хочу экспортировать свои собственные библиотеки java ,мне нужно экспортировать.файл jar.

Спасибо за помощь заранее.

3   51   2010-12-10 19:30:57

3 ответа:

сборка .NET-это то же самое, что и java .банку?

Они играют ту же роль, да.

.dll содержит скомпилированный IL код И.баночка содержит комплимент .файлы класса / байтового кода?

да. Хотя банки-это просто zip-файлы (вы можете открыть их в своем любимом инструменте Zip), поэтому они действительно могут содержать почти все.

они говорят ресурсы, о каких ресурсах мы здесь говорим? Изображения. ,формат txt файлы и т. д. или все возможно?

в банке разрешен любой тип файла. Ваш Java-код может получить доступ к содержимому файлов в jar через, например,getResourceAsStream или getResource. Очевидно.файлы классов в JAR обрабатываются специально (как байт-код).

Я изучил AWS (Amazon Web Service API for java) и увидел три .jar-файл и они: aws-java-sdk-1.1.1.jar, aws-java-sdk-1.1.1-javadoc.сосуд, aws-java-sdk-1.1.1-исходники.банку

вышеуказанные упаковки является довольно распространенным явлением. Иногда люди используют .банку в качестве альтернативного расширения файла .молнии. Я нахожу эту практику запутанной, но это не редкость, и Amazon сделал это в этом случае. Я думаю, что эта практика стала более распространенной с запуском Maven, который хранит исходный код ссылки в именованных файлах .сосуд.

aws-java-sdk-1.1.1.банку - это единственный файл необходимые для компиляции и выполнения. Он содержит классы (.файлы классов) и ресурсы, необходимые для функционирования библиотеки.

aws-java-sdk-1.1.1-исходники.банку - это просто zip-файл, который содержит исходный код (.java-файлы) для библиотеки. Это не обязательно для компиляции или выполнения. Он предназначен для устранения неполадок, которые могут возникнуть при использовании библиотеки. Вы можете распаковать этот файл и прочитать исходный код с вашего жесткого диска водить. Однако ваша среда IDE, вероятно, может использовать этот файл напрямую, создав "исходное вложение" в основную библиотеку JAR. С помощью этой ассоциации library - >source, настроенной в вашей среде IDE, ваша среда IDE сможет показать вам исходный код библиотеки при использовании функции "перейти к определению" вашей среды IDE в классе библиотеки.

aws-java-sdk-1.1.1-javadoc.банку - это просто zip-файл, который содержит библиотеки. Опять же, это не обязательно для компиляции или казнь. JavaDoc-это просто HTML, поэтому вы можете распаковать этот файл и прочитать javadoc HTML непосредственно с вашего жесткого диска. Однако большинство IDE может создать "вложение javadoc" в основную библиотеку, что позволяет вам извлекать контекстно-зависимый JavaDoc для библиотеки из среды IDE. На самом деле, большинство IDE может генерировать JavaDoc на лету из-источников.jar, поэтому я редко использую javadoc jars больше.

когда я хочу импортировать библиотеки java, мне всегда нужно будет импортировать .файлы jar?

обычно это называется "добавление банок в путь к классам", Но да. Вам в значительной степени всегда нужно помочь Java найти все банки, которые вы используете, создавая путь к классам всякий раз, когда вы строите или выполняете. В общем, использование JARs и classpaths-это гораздо более ручной и явный процесс, чем использование DLL в .NET. например: Java не имеет прямого эквивалента "глобального кэша сборок" .NET; также vanilla Java не будет автоматически загружаться .банки из рабочего справочник.

есть несколько других методов для создания более "автоматического" пути к классам чувств, но они являются своего рода продвинутыми: Манифест.Например, MF classpaths возможны , но этот подход используется нечасто, поскольку он хрупкий. С Java 6, Java имеет ограниченную поддержку использования подстановочные знаки в classpath.

когда я хочу экспортировать свои собственные библиотеки java ,мне нужно экспортировать.jar file

Это стандарт, да.

Я могу ответить часть этот вопрос :-)

как я понимаю, a jar Это просто файл "Java Archive". Он может содержать все, что угодно, но чаще всего используется для распространения бинарных версий библиотек. Он также может быть использован для распространения исполняемых файлов-двойной щелчок по файлу JAR запустит приложение, если оно было упаковано именно так.

как таковой, может быть трудно сказать, что конкретно jar файл предназначен для. Для например, что такое aws-java-sdk-1.1.1-sources.jar?. Это самораспаковывающийся? Сжатый архив кода? Не читая документацию, можно только догадываться.


Edit: дело в том, что я только что загрузил JAI предполагаю, что это была двоичная сборка библиотеки. Но на самом деле, он содержит приложение-установщик.

чтобы ответить на этот конкретный вопрос.

  1. aws-java-sdk-1.1.1.банку
  2. aws-java-sdk-1.1.1-javadoc.банку
  3. aws-java-sdk-1.1.1-исходники.банку

1) - это файл архива java компилятора (jar), который в .NET называется DLL. 2) является javadoc. HTML-документация классов java (найденная в 1)) вместе с описанием метода. 3) является исходным кодом (java-файлы) из 1).

  1. когда я хочу импортировать библиотеки java, мне всегда нужно будет импорт.файлы jar?
  2. когда я хочу экспортировать свои собственные библиотеки Java, мне нужно экспорт в .файл jar.

для 1) Если вам нужно использовать класс, который находится в файле jar, то вам нужно будет импортировать эту банку в свой проект.

для 2) Вам не надо. Вы можете связать свои банки зависимостей в свою библиотеку или упаковать каждый в свои собственные банки и импортируйте их в свой проект.

  1. .NET сборка-это то же самое, что и java .банку? ответ: да.
  2. .dll содержит скомпилированный IL код И.баночка содержит комплимент .файлы класса / байтового кода? ответ: .jar files-это архивированный файл ресурсов java, классов, изображений / значков / и т. д. это необходимо для приложения, так же, как и в .файл DLL. Файлы классов содержат компиляцию исходных кодов java (так называемый байт-код java).