Просмотр jar файлов linux

Обновлено: 06.07.2024

Используя JDK, jar -tf будет перечислять файлы в банке. javap предоставит вам более подробную информацию из определенного файла класса.

Теперь, где-то на SO были упомянуты некоторые плагины Eclipse, чтобы найти в каком jar файле находится класс, возможно, они могут сделать больше (то есть, что вы запросили).

[EDIT] Ссылка на поток SO. Не то, что задано, но каким-то образом связано, таким образом, полезно: Java: Как узнать, какой файл jar использовать с именем класса?

Имена методов, поля и т.д.

Добавляя банку в проект в среде IDE, вы обычно можете видеть методы и имена полей, но не подробную реализацию. NetBeans может это сделать, возможно, Eclipse, вероятно, IntelliJ и т.д. Вы можете просматривать структуру jar непосредственно в среде IDE.

Просто содержимое

Для чего угодно, например просмотра содержимого, вы можете использовать:

  • jar tvf jarfile.jar
  • winzip или любой инструмент zip

Исходный код

Расширяя ответ Тома Хотина, вы можете передать список, чтобы отфильтровать требуемый класс или файлы:

jar tf my-fat-jar-file.jar | grep filename

Поэтому я использую команду unzip , которую легко запомнить и использовать.

unzip -l <jar-file-name>.jar

Например, если у вас есть файл JAR с именем test.jar , тогда unzip -l test.jar перечислит все содержимое файла JAR.

Хотя все остальные ответы хороши, но в большинстве из них вам придется использовать какое-то программное обеспечение, такое как 7 zip или JDK , или какой-либо другой инструмент для затмения, в то время как для этого не нужно иметь какое-либо из этих больших ПО и поставляется по умолчанию в Linux и Mac, поэтому он очень легкий и удобный в использовании.

Вы также можете использовать zipinfo <your jar file> . если ваша ОС поддерживает это.

Использовать WinRar. Он откроет вам структуру папок неповрежденным способом. Также позволяет редактировать внутри архива, сохраняя пути.

Afterall, JAR файл является только ZIP-архивом.

Если вам нравится видеть, что внутри, просто переименуйте как первый вариант ниже.

jar tvf jarfile.jar

jar tf jarfile.jar

В любом случае, это хорошая идея для хорошего автономного инструмента Java

Каждый декомпилятор, который я использовал, однако, запускается в код, который он не декомпилирует успешно. Для них это помогает понять дизассемблированный байт-код Java, созданный стандартным инструментом JDK, javap.

выше будет печатать только имена файлов.

Чтобы просмотреть содержимое файлов, вы можете извлечь файлы в папке:

это разархивирует файл jar и поместит содержимое в тот же каталог, где вы его запускаете.

Или в Windows переименуйте файл .jar в .zip и затем вы можете разархивировать, чтобы извлечь и просмотреть содержимое файла jar. Поскольку jar является внутренним zip файлом.

Если вы хотите просмотреть файлы классов, чтобы увидеть методы, вам понадобится инструмент для этого. Как упоминает PhiLho, Eclipse может это сделать (по умолчанию), и я думаю, что большинство Java IDE способны на это.

В Eclipse 3.4 do

Если просмотр исходного кода тоже является проблемой, откройте новый вопрос.

Для навигации на уровне Jar файла (в виде zip файла) я использую 7zip, который работает очень хорошо, и позволяет просматривать и редактировать записи, которые отлично подходят для устранения проблем.

Если вы находитесь в окнах и используете powershell, и ищете файл в банке, вы можете сделать:

Другой способ: вы можете использовать JarPlug в качестве плагина eclipse. Это работает в eclipse/springsource

В наши дни вы можете открыть их с помощью большинства утилит декомпрессии, а затем просто получить что-то вроде DJ Java Decompiler, если вы хотите просмотреть источник.

Bndtools предоставляет бесплатный плагин просмотра JAR для Eclipse.

Добавьте сайт Eclipse update и установите только средство просмотра.

Я предпочитаю JAR Browser, у него есть простой интерфейс, где вы можете просматривать несколько JAR и одновременно искать определенный класс в нескольких JAR.

Это не самый быстрый способ, потому что сначала вы должны перенести его в свое затмение.
Но у вас будет полный просмотр java-класса, даже с декомпиляцией.

Это хорошо сработало для меня!

Вы можете попробовать JarSpy. Существует версия плагина IDEA, которую я использую.

Я использую JarExplorer или JarVisualizer.

Вы можете попробовать JarNavigator для просмотра и поиска содержимого файла jar.

Java - это кроссплатформенный язык программирования, благодаря которому программы, написанные один раз, можно запускать в большинстве операционных систем: в Windows, Linux и даже MacOS. И всё это без каких-либо изменений.

Но программы, написанные на Java, распространяются в собственном формате .jar, и для их запуска необходимо специальное ПО - Java-машина. В этой небольшой статье мы рассмотрим, как запустить jar-файл в Linux.

Как запустить jar Linux

Как я уже сказал, для запуска jar-файлов нам необходимо, чтобы на компьютере была установлена Java-машина. Если вы не собираетесь ничего разрабатывать, вам будет достаточно Java Runtime Environment или JRE. Что касается версии, то, обычно, большинство программ работают с 7 или 8 версией. Если нужна только восьмая, то разработчики прямо об этом сообщают. Посмотреть версию Java и заодно убедиться, что она установлена в вашей системе, можно с помощью команды:

У меня установлена восьмая версия, с пакетом обновлений 171. Если вы получаете ошибку, что команда не найдена, то это значит, что вам нужно установить java. В Ubuntu OpenJDK JRE можно установить командой:

Если вы хотите скомпилировать пример из этой статьи, то вам понадобиться не JRE, а JDK, её можно установить командой:

Чтобы узнать, как установить Java в других дистрибутивах, смотрите статью по ссылке выше. Когда Java будет установлена, вы можете очень просто запустить любой jar-файл в Linux, передав путь к нему в качестве параметра Java-машине. Давайте для примера создадим небольшое приложение:

public class Main public static void main(String[] args) System.out.println(" Losst test app! ");
>
>

Затем скомпилируем наше приложение в jar-файл:

javac -d . Main.java
jar cvmf MANIFEST.MF main.jar Main.class

Теперь можно запустить наш jar-файл командой java с параметром -jar:

java -jar main.jar

Таким образом вы можете запустить любой jar-файл, который собран для вашей версии Java. Но не очень удобно каждый раз открывать терминал и прописывать какую-либо команду. Хотелось бы запускать программу по щелчку мышки или как любую другую Linux-программу - по имени файла.

Если мы дадим программе право на выполнение:

chmod u+x ./main.jar

И попытаемся её запустить, то получим ошибку:

sudo apt install jarwrapper

Теперь можно запускать java в Linux по щелчку мыши или просто командой.

Выводы

В этой небольшой статье мы рассмотрели, как запустить jar Linux с помощью java-машины, а также как упростить команду запуска. Если у вас остались вопросы, спрашивайте в комментариях!

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

Мы узнали о получении имен классов из файла JAR . Далее, в этом уроке мы обсудили, как получить имена классов в файле JAR в приложении Java.

В этом уроке мы узнаем еще один способ перечисления содержимого файла JAR из командной строки.

Мы также увидим несколько графических инструментов для просмотра более подробного содержимого файла JAR — например, исходный код Java.

2. Пример файла JAR

В этом уроке мы все равно возьмем stripe-0.0.1-SNAPSHOT.jar файл в качестве примера для решения вопроса о том, как просмотреть содержимое файла JAR:

3. Просмотр команды jar

Мы узнали, что можем использовать команду jar, поставляемую вместе с JDK, для проверки содержимого файла JAR:

Если мы хотим отфильтровать выходные данные, чтобы получить только нужную нам информацию, например, имена классов или файлы свойств, мы можем передать выходные данные в инструменты фильтрации, такие как grep .

Команда jar довольно удобна в использовании, если в нашей системе установлен JDK.

Однако иногда мы хотим изучить содержимое файла JAR в системе без установленного JDK. В этом случае команда jar недоступна.

Мы посмотрим на это в следующий раз.

4. С помощью команды распаковать

Файлы JAR упакованы в формате ZIP. Другими словами, если утилита может читать ZIP-файл, мы также можем использовать ее для просмотра файла JAR.

Команда unzip -это обычно используемая утилита для работы с ZIP-файлами из командной строки Linux.

Поэтому мы можем использовать опцию -l команды unzip для отображения содержимого файла JAR без его извлечения:

Благодаря команде unzip мы можем просматривать содержимое файла JAR без JDK.

Вывод выше довольно ясен. В нем перечислены файлы в файле JAR в табличном формате.

5. Изучение Файлов JAR С Помощью Утилит GUI

Команды jar и unzip удобны, но они перечисляют только имена файлов в файле JAR.

Иногда мы хотели бы узнать больше информации о файлах в файле JAR, например, изучив исходный код Java класса.

В этом разделе мы представим несколько независимых от платформы графических инструментов, которые помогут нам просматривать файлы внутри файла JAR.

5.1. Использование JD-GUI

Во-первых, давайте взглянем на JD-GUI .

JD-GUI-это хорошая утилита с открытым исходным кодом для изучения исходного кода Java, декомпилированного декомпилятором Java JD-Core .

JD-GUI отправляет файл JAR. Мы можем запустить утилиту с помощью команды java с параметром -jar , например:

Как только мы откроем файл JAR, все классы в файле JAR будут декомпилированы.

Затем мы можем выбрать файлы, которые нас интересуют, в левой части, чтобы изучить их исходный код:

Как мы можем видеть в приведенной выше демонстрации, в схеме слева перечислены классы и члены каждого класса, такие как методы и поля, так же, как мы обычно видим в IDE .

Это довольно удобно для поиска методов или полей, особенно когда нам нужно проверить некоторые классы со многими строками кода.

Когда мы щелкаем по различным классам с левой стороны, каждый класс будет открыт на вкладке с правой стороны.

Функция вкладки полезна, если нам нужно переключаться между несколькими классами.

5.2. Использование Jar Explorer

Еще одна приятная функция, предоставляемая Jar Explorer , заключается в том, что он поддерживает три различных декомпилятора Java: JD-Core, Procyon и Fernflower .

Мы можем переключаться между декомпиляторами при изучении исходного кода:

Jar Explorer довольно прост в использовании. Функция переключения декомпилятора тоже хороша. Однако контур с левой стороны останавливается на уровне класса.

Кроме того, поскольку Jar Explorer не предоставляет функцию вкладки, мы можем одновременно открывать только один файл.

Более того, каждый раз, когда мы выбираем класс с левой стороны, класс будет декомпилирован выбранным в данный момент декомпилятором.

5.3. Использование Luyten

Luyten -это хорошая графическая утилита с открытым исходным кодом для декомпилятора Java Procyon , которая предоставляет загрузки для различных платформ , например, формат .exe и формат JAR.

После загрузки файла JAR мы можем запустить Luyten с помощью команды java-jar :

Мы можем перетащить наш файл JAR в Luyten и изучить содержимое файла JAR:

Используя Luyten, мы не можем выбирать различные декомпиляторы Java. Но, как показано в приведенной выше демонстрации, Luyten предоставляет различные варианты декомпиляции. Кроме того, мы можем открывать несколько файлов во вкладках.

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

Однако Luyten перечисляет структуру файла JAR только на уровне файла.

6. Заключение

В этой статье мы узнали, как перечислить файлы в файле JAR из командной строки. Позже мы увидели три утилиты GUI для просмотра более подробного содержимого файла JAR.

Если мы хотим декомпилировать классы и изучить исходный код файла JAR, выбор инструмента GUI может быть самым простым подходом.


Установка Java в Ubuntu и Linux Mint

Java — это язык программирования, разработанный компанией Sun Microsystems, которую потом купила компания Oracle.

Программы, написанные на Java обычно работают в различных операционных системах, то есть являются кроссплатформенными. Для запуска таких программ необходимо наличие в системе Виртуальной машины Java (Java Virtual Machine — JVM), то есть, проще говоря, наличие некоторых дополнительных компонентов, которые обеспечивают возможность запуска Java-программ в системе.

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

Какие версии Java бывают и чем отличаются

Существует несколько реализаций Java для Linux. Самыми популярными являются OpenJDK и Oracle Java. В Linux обычно пользователь устанавливает одну из этих реализаций.

  • Oracle Java — реализация Java для Linux от компании Oracle. В ней содержатся некоторые закрытые (проприетарные) компоненты и компоненты, которые защищены патентами.
  • OpenJDK — реализация Java для Linux с открытым исходным кодом.

Обе версии вполне работоспособны и в Linux можно использовать любую из них. Но иногда, для некоторых приложений, рекомендуется использовать Oracle Java.

В Linux пакеты с Java представлены в двух редакциях:

  • JRE — Java Runtime Environment — компоненты, предназначенные для запуска Java-программ в Linux.
  • JDK — Java Development Kit — компоненты, предназначенные для запуска, компиляции и разработки Java-программ.

Какую версию устанавливать

Рядовому пользователю, которому нужно просто запускать Java-программы, обычно достаточно установить «OpenJDK JRE».

Если потребуется компиляция Java-программ, то нужно будет установить «OpenJDK JDK».

Рассмотрим, как установить Java в Ubuntu Linux. Абсолютно аналогично выполняется установка в Linux Mint и других дистрибутивах, основанных на Ubuntu.

— Я ничего не понял. Что мне устанавливать?
— Если вам нужно просто запускать Java-программы в Ubuntu (Linux Mint), то устанавливайте OpenJDK JRE.

Проверка версии Java

Чтобы проверить, установлена ли у вас уже в системе какая-либо версия Java, выполните в терминале команду:

Узнать версию Java в Linux

Если Java установлена, то вы получите информацию о том, какие компоненты Java установлены в системе.

Установка OpenJDK

Установка OpenJDK JRE

Для установки OpenJDK JRE в Ubuntu Linux достаточно установить пакет default-jre. Для установки выполните в терминале команду:

Установка OpenJDK JDK

Если вы хотите установить OpenJDK JDK, то нужно установить пакет default-jdk (он также установит default-jre). Для установки выполните команду:

Установка OpenJDK определенной версии

Если вам нужно установить конкретную версию, то выполните одну из следующих команд. В репозиториях Ubuntu сейчас представлены OpenJDK версий 11 и 8.

После установки, можно проверить, какие компоненты Java установлены, выполнив команду:

Установка Oracle JDK

Установка Oracle JDK свежей версии

Свежую версию Oracle JDK можно установить, используя PPA-репозиторий, подготовленный проектом linuxuprising.

Добавление PPA репозитория с Oracle JDK

Теперь выполним установку Oracle Java версии 12:

Во время установки нужно будет ознакомиться и принять лицензию:


Лицензионное соглашение во время установки Oracle Java.


Принимаем соглашение.

Для установки Oracle Java версии 11 используйте команду:

Установка Oracle JDK старой версии

Как удалить Java

Если у вас установлены пакеты OpenJDK, то для их удаления используйте команду:

Или следующую команду, если требуется также удалить файлы конфигурации (полное удаление OpenJDK):

Для удаления Oracle Java используется команда:

Запуск Java-программ

Если Java установлена в Ubuntu Linux, то для запуска Java-программ обычно достаточно дважды щелкнуть по файлу программы. Он может иметь расширение .jar .

Для запуска .jar файлов из командной строки, выполните команду:

Заключение

Мы рассмотрели, какие версии Java бывают для Linux. Рассмотрели, как установить версию OpenJDK, а также версию Java от Oracle. Обычно начинающий пользователь вообще не понимает, что именно ему нужно установить. Поэтому краткое резюме: Если вам нужно просто запустить какую-нибудь Java-программу в Ubuntu Linux (Linux Mint и других подобных дистрибутивах), то устанавливайте OpenJDK JRE.

Читайте также: