Я хотел бы создать пакет Java в файле JAR с предварительно скомпилированными классами, чтобы другие проекты Java могли их использовать. Как я могу это сделать? Мне кажется, что большинство руководств, которые я нашел, предполагают наличие основного класса/метода, но я не хочу, чтобы это было приложение, которое запускается само по себе. Кроме того, ресурсы (различные файлы) внутри моего проекта должны быть помещены в JAR, поскольку мое приложение зависит от них. Это возможно? Я (кстати) использую Gradle.
Было заявлено, что этот вопрос является дубликатом этого: Java создает файл .jar. Однако этот вопрос предполагает наличие основных методов и не касается того, как включать ресурсы.
Если вы используете Gradle, то он уже должен сделать это за вас (проверьте папку build/libs вашего проекта). Если это не так, опубликуйте свой файл build.gradle и какие команды вы используете для сборки.




вы можете поместить все свои методы/функции в файл класса, а затем экспортировать его в .jar
затем добавьте банку в путь сборки вашего проекта. Теперь вы сможете вызывать эти функции из вашего текущего основного класса Java.
Не могли бы вы привести пример? Что такое файл класса, и имеет ли эта задача, о которой я прошу, определенное имя? А как насчет проблемы с файлами ресурсов, которые я хотел бы включить?
открытый класс Simple { public static int add(int a, int b){ return a+b; } } вы можете просто создать файл java, добавив некоторые функции выше, затем вы можете создать файл jar либо из командной строки, либо с помощью eclipse, вы можете экспортировать java в jar. Затем создайте еще один проект Java, добавьте созданную вами банку, после чего вы сможете использовать функции в этой банке.
Вы можете создать банку из командной строки.
Скопируйте все классы, которые вы хотите включить в папку.
Затем откройте эту папку в командной строке и введите эту команду.
jar cfv YourProjectName.jar *
И JAR будет создан в той же папке, содержащей все классы.
Другое решение:
Если вы используете eclipse, попробуйте:
Щелкните правой кнопкой мыши пакет -> Экспорт -> java -> файл jar.
Вы также можете выбрать классы и щелкнуть их правой кнопкой мыши вместо пакета.
Редактировать:
Обратитесь к https://docs.oracle.com/javase/tutorial/deployment/jar/build.html для более подробной информации об этой команде.
Спасибо! Но как насчет ресурсов? А у вас есть аналогичная стратегия для Intellij?
Извините, можно подробнее? Если это не связано с этим вопросом, задайте его в новом вопросе.
Я ответил на ваш вопрос?
Вы не ответили на мой вопрос о ресурсах. Мои классы зависят от загрузки некоторых файлов в мой каталог ресурсов (в проекте).
Вы пытались включить их в ту же папку, что и классы, перед созданием банки?
Теперь я понимаю, что ваше решение работает. Но не могли бы вы объяснить вариант cfv?
Чтобы объяснить это кратко, c означает создание, f означает файл, v означает подробный. Для получения более подробной информации проверьте ссылку, которую я добавил в ответ.
Возможный дубликат Java создает файл .jar