Как собрать TrackStudio из исходного кода
Для того, чтобы собрать TrackStudio, вам понадобятся: Java SDK и Apache Ant. Лучше, если у вас будет какая-нибудь IDE, но для небольших изменений можно обойтись и простым текстовым редактором.
Как скомпилировать проект без использования IDE
Убедитесь, что Ant установлен правильно. Для этого наберите в командной строке
ant
Ответ должен быть таким:
Buildfile: build.xml does not exist! Build failed
В случае, если Ant установлен неправильно, обратитесь к документации.
- Скачайте исходный код TrackStudio.
- Разверните исходный код TrackStudio в любую пустую папку.
- В командной строке наберите ant war.
- Дождитесь завершения сборки.
- В случае удачной компиляции в папке dist должен появиться файл TrackStudio.war. Этот файл можно развернуть в директорию webapps/TrackStudio вашего резервного экземпляра TrackStudio.
- После этого резервный экземпляр можно запустить и посмотреть, что получилось.
Как создать и скомпилировать проект в IntelliJ IDEA.
- Скачайте исходный код TrackStudio.
- Разверните исходный код TrackStudio в любую пустую папку.
- Запустите IDEA.
- Создайте новый проект, укажите в качестве его корня папку, в которую вы развернули архив с исходниками.
- Перейдите в меню File->Project Structure.
- Выберите вкладку Libraries.
- Создайте библиотеку TrackStudio.
- Добавьте туда все классы из папки webapps/TrackStudio/WEB-INF/lib.
- Затем откройте вкладку Ant Build (обычно она расположена справа на окне IDEA)
- Выберите файл build.xml из папки, куда вы развернули исходные коды TrackStudio
- Запустите задачу war из списка заданий Ant Build
- В случае удачной компиляции в папке dist должен появиться файл TrackStudio.war. Этот файл можно развернуть в директорию webapps/TrackStudio вашего резервного экземпляра TrackStudio.
- После этого резервный экземпляр можно запустить и посмотреть, что получилось.
Таким образом вы можете менять в TrackStudio практически всё, либо дорабатывать свои части.
Как убрать индикацию синтаксических ошибок
Для того, чтобы в IDEA было удобно редактировать наш код, нужно ее познакомить поближе с особенностями нашего проекта.
Для начала нужно подключить библиотеку javax.servlet.jar. Она находится в папке jetty/lib развернутых исходников.
- В IDEA перейдите в меню File->Project Structure.
- Выберите пункт Modules.
- Выберите модуль TrackStudio.
- Выберите вкладку Dependencies.
- Нажмите кнопку Add и выберите Single Module Library
- Отыщите javax.servlet.jar и добавьте ее в проект
После этого исходный код будет выглядеть так:
Настала очередь библиотек с тегами.
Нам нужно создать Facet для нашего проекта. Для этого:
- В IDEA перейдите в меню File->Project Structure.
- Выберите пункт Facets.
- Выберите Web.
- Добавьте новый facet к модулю TrackStudio
- Укажите путь до файла web.xml: webapps/TrackStudio/WEB-INF/web.xml либо etc/webxml/web.jspc20.xml
- Укажите путь до ресурсов (Web Resource Directory Path): webapps/TrackStudio/
- Укажите там же Relative Path как /
Отладка
Для отладки кода можно настроить Remote Debug. Для этого:
- В IDEA перейдите в меню Run->Edit Configuration.
- Создайте новую конфигурацию. Выберите пункт Remote.
- Подключите там же файлы исходного кода из модуля TrackStudio.
- Скопируйте строчку в файл startJetty.vmoptions в корне вашего резервного экземпляра TrackStudio
- Запустите jetty
- В терминале должна появиться строчка
- Перейдите в IDEA.
- Выберите ранее созданную конфигурацию 'TrackStudio и нажмите кнопку отладки.
- Поставьте в нужных вам местах точки останова.
- Через браузер зайдите в TrackStudio и выполните действия, которые должны привести к останову отладчика в нужных вам точках.
- Найдите место, где происходит ошибка.
- Исправьте ошибку.
- Остановите резервный экземпляр TrackStudio.
- Перекомпилируйте ваш исходный код по инструкции выше.
- Снова приступите к отладке.
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005
sh startJetty
Listening for transport dt_socket at address: 5005