Ответ 1
Является ли сборка .NET такой же, как java.jar?
Они играют ту же роль, да.
.dll содержит скомпилированный IL-код, а .jar содержит файлы с кодом .class/byte
Да. Хотя JAR - это только zip файлы (вы можете открыть их в своем любимом Zip-инструменте), поэтому они могут действительно содержать что угодно.
Говорят, ресурсы, какие ресурсы мы здесь говорим? Изображения, файлы .txt и т.д. Или все они возможны?
В JAR разрешен любой тип файла. Ваш Java-код может получить доступ к содержимому файлов в банке, например, getResourceAsStream или getResource. Очевидно, что файлы класса в JAR обрабатываются специально (в качестве байт-кода).
Я изучил AWS (API веб-сервиса Amazon для java), и я увидел три файла .jar, и они: aws-java-sdk-1.1.1.jar, aws-java-sdk-1.1. 1-javadoc.jar, aws-java-sdk-1.1.1-sources.jar
Вышеуказанная упаковка довольно распространена. Иногда люди используют .jar как альтернативное расширение файла .zip. Я нахожу эту практику запутанной, но это не редкость, и Амазонка сделала это в этом случае. Я думаю, что эта практика стала более распространенной с запуском Maven, который хранит исходный код в файлах с именем .jar.
aws-java-sdk-1.1.1.jar - это единственный файл, необходимый для компиляции и выполнения. Он содержит классы (файлы .class) и ресурсы, необходимые для работы библиотеки.
aws-java-sdk-1.1.1-sources.jar - это всего лишь zip файл, содержащий исходный код (.java файлы) для библиотеки. Это не обязательно для компиляции или исполнения. Он предоставляется, чтобы помочь вам устранить проблемы, с которыми вы можете столкнуться при использовании библиотеки. Вы можете разархивировать этот файл и прочитать исходный код с жесткого диска. Тем не менее, ваша IDE, вероятно, может использовать этот файл напрямую, создав "исходное вложение" в JAR основной библиотеки. Благодаря этой библиотеке- > исходной ассоциации, настроенной в вашей среде IDE, ваша IDE сможет показать вам исходный код библиотеки, когда вы используете функцию IDE "Перейти к определению" в классе библиотеки.
aws-java-sdk-1.1.1-javadoc.jar - это всего лишь zip файл, содержащий JavaDoc для библиотеки. Опять же, это не обязательно для компиляции или исполнения. JavaDoc - это просто HTML, поэтому вы можете разархивировать этот файл и прочитать JavaDoc HTML прямо с вашего жесткого диска. Тем не менее, большинство IDE могут создать "вложение javadoc" в основную библиотеку, что позволяет вытаскивать контекстно-зависимый JavaDoc для библиотеки из среды IDE. Фактически, большинство IDE могут генерировать JavaDoc "на лету" из -sources.jar, поэтому я редко использую javadoc jars больше.
Когда я хочу импортировать java-библиотеки, мне всегда нужно будет импортировать файлы .jar?
Обычно он называется "добавление JAR в путь к классам", но да. Вы почти всегда должны помогать Java находить все JAR, которые вы используете, создавая путь к классам всякий раз, когда вы создаете или выполняете. В общем, использование JAR и classpaths - гораздо более ручной и явный процесс, чем использование DLL в .NET. Например: Java не имеет прямого эквивалента .NET глобального кэша сборок; также vanilla Java не будет автоматически загружать .jars из рабочего каталога.
Существует несколько других методов создания более "автоматического" класса классов чувств, но они являются довольно продвинутыми: например, возможны пути класса Manifest.MF, но этот подход используется нечасто, так как он хрупкий. Начиная с Java 6, Java имеет ограниченную поддержку для использования подстановочных знаков в пути к классам.
Когда я хочу экспортировать свои собственные java-библиотеки, мне нужно экспортировать в .jar файл
Это стандарт, да.