Я заметил, что при использовании JFreeChart размер программы МНОГО больше (около 1,5 МБ), чем стандартная Java-программа. Чтобы подтвердить, что это может быть, я просмотрел официальное руководство разработчика JFreeChart и заметил, что он составляет более 900 страниц! Это означает, что использование библиотеки JFreeChart в Java аналогично использованию system()
в C++ (но гораздо безопаснее). Это похоже на сжигание вашей мебели на тепло, когда на стене есть хороший термостат. Я хотел знать, можно ли создать библиотеку MUCH SMALLER из библиотеки JFreeChart без необходимости включать все в библиотеку JFreeChart. Другими словами, могу ли я просто распаковать исполняемый JAR-файл, взять только те вещи, которые мне нужны для базовой диаграммы/диаграммы времени, и сделать из нее свою собственную библиотеку?Создание библиотеки из уже существующей библиотеки
ответ
Поскольку это с открытым исходным кодом, вы можете просто получить исходный код, удалить все, что вам не нужно или нужно, и перекомпилировать/перестроить в новую легкую банку. Вероятно, что-то вроде и файл ANT
build.xml в проекте, который его создает, и вы можете настроить его в соответствии с вашими потребностями.
Если вы открыты для новой новой графической библиотеки, которая имеет гораздо меньший вес, взгляните на XChart. Он с открытым исходным кодом и активно развивается. Вы можете просмотреть исходный код или разветвить проект на Github. В нем нет всех функций JFreeChart, но во многих случаях это нормально.
Это потребует изменения всех файлов .class во всех целевых библиотеках, используемых вашей программой, верно? –
Я попытался распаковать исходную библиотеку JAR в папку, перейдя через папку, удалив все, что я не импортировал, перестроил JAR из того, что осталось (что я действительно включил), отбросил его на 'newLibrary.jar' и просто включив этот newLibrary.jar так же, как я включил оригинал. Проблема в том, что она не признает ЛЮБОЙ из импорта, который зависит от этой новой библиотеки! Что я могу делать неправильно? Нужно ли мне изменять файлы '.class', чтобы быть в безопасности? –
Вы ошибаетесь. Вы должны сначала получить исходный код, который представляет собой сборник * .java-файлов, который вы, очевидно, можете получить [здесь] (http://sourceforge.net/p/jfreechart/code/HEAD/tree/). Затем вам нужно удалить файлы * .java, которые вам не нужны. Наконец, вам нужно скомпилировать эти файлы и упаковать их в банку. Скомпилированные файлы будут иметь расширение .class. Делать это не тривиальная задача, но это можно сделать. – herrtim
- 1. Переопределение CSS существующей библиотеки
- 2. Создание конкретной библиотеки из библиотеки Boost C++
- 3. Создание pdf из библиотеки библиотеки docx issue
- 4. Создание библиотеки из приложения
- 5. Создание библиотеки Java «Groovy»
- 6. создание общей библиотеки из C++
- 7. отсутствуют библиотеки из библиотеки
- 8. Создание библиотеки: стандартное решение?
- 9. Создание общей библиотеки из статической библиотеки * .a file
- 10. Создание библиотеки DLL Win32 из источника библиотеки Linux
- 11. Из какой библиотеки включить встроенное создание списка?
- 12. Создание общей библиотеки из существующих объектных файлов
- 13. Создание библиотеки образцов
- 14. Создание минимальной общей библиотеки
- 15. Создание звуков без библиотеки?
- 16. Использовать классы из библиотеки библиотеки?
- 17. C++ - создать Pythonwrapper для существующей библиотеки
- 18. Добавить зависимость от существующей библиотеки общих объектов
- 19. Создание библиотеки dll из сгенерированного кода c
- 20. создание библиотеки в java
- 21. WPF Создание командной библиотеки
- 22. Создание экземпляра объектов библиотеки?
- 23. Создание java-библиотеки
- 24. C# Создание библиотеки WPF
- 25. Создание библиотеки/фрейма iPhone
- 26. Создание простой общей библиотеки
- 27. Cmake: создание библиотеки FLANN
- 28. Создание библиотеки пакетов Meteor?
- 29. Создание библиотеки GLUI2 (Ubuntu)
- 30. Makefile ... создание статической библиотеки
Вы можете легко использовать такой инструмент, как ProGuard, чтобы вырезать все, что вы не используете. –
И, я предполагаю, что вы можете указать, что выбросить с помощью этой мощной программы тоже ... Когда я доберусь до своего компьютерного кода, я попробую это! –
Можете ли вы сказать ProGuard о сохранении неиспользуемых объектов? // Я использую полиморфизм в своей программе; У меня есть мастер-класс, который запускает всю программу в своем конструкторе. –