1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/ujcms-ujcms

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

中修改

После изменения информации о домене, порте и т. д. необходимо в разделе «Содержание — управление генерацией» нажать кнопку «Обновить все индексы», чтобы адреса URL в функциях «Полнотекстовый поиск» и «Связанные статьи» не остались прежними (с использованием старого домена и порта).

Частые ошибки

Если программа не компилируется, то это обычно связано с тем, что Maven некорректно загрузил jar-зависимость. Можно попробовать обновить зависимости в окне Maven в IntelliJ IDEA, нажав на кнопку «Reload All Maven Projects», или перекомпилировать проект, выбрав пункт меню «Build — Rebuild Project».

При первом использовании IntelliJ IDEA и отсутствии настроенного JDK также могут возникнуть проблемы с компиляцией программы. Нужно выбрать проект, нажать «File — Project Structure...» и в разделе «Project Settings — Project» настроить «Project SDK».

Если при запуске появляется ошибка типа «flowable-eventregistry-db-changelog.xml::1::flowable: Specified key was too long; max key length is 767 bytes», то для MySQL версии 5.7 нужно установить innodb_large_prefix=ON, а для MySQL 5.6 — innodb_large_prefix=1. Начиная с MySQL 5.7.7 значение innodb_large_prefix по умолчанию равно ON, поэтому эта проблема не возникает при использовании MySQL версий выше 5.7.7.

Развёртывание

  • Используйте maven для упаковки проекта: mvn package -P war. Будет создан файл target/ujcms-.war и каталог target/ujcms-.
  • Если вы используете развёртывание каталогом, скопируйте содержимое каталога target/ujcms-***/ в каталог webapps/ROOT в Tomcat (сначала удалите все файлы и папки из каталога tomcat/webapps). После копирования у вас должны появиться папки типа webapps/ROOT/uploads, webapps/ROOT/templates, webapps/ROOT/WEB-INF и т.д.
  • Также можно использовать пакет war для развёртывания. Переименуйте файл ujcms-***.war в ROOT.war (обратите внимание на регистр), скопируйте его в каталог webapps в Tomcat (предварительно удалите все файлы и папки в каталоге tomcat/webapps). После копирования адрес файла будет webapps/ROOT.war. Для развёртывания пакета war используйте режим распаковки, который по умолчанию используется в Tomcat. Если вы изменили конфигурацию Tomcat, проверьте настройку <Host ... unpackWARs="true"... > в файле конфигурации server.xml.
  • Убедитесь, что файл /WEB-INF/classes/application.yaml содержит правильные настройки базы данных, имени пользователя и пароля, соответствующие среде развёртывания.

Развёртывание jar

  • Соберите проект с помощью команды mvn package -P jar.
  • Скопируйте созданный файл target/ujcms-***.jar в папку развёртывания.
  • В папке развёртывания (где находится файл ujcms-***.jar) создайте новую папку static.
  • Скопируйте все файлы из каталога src/main/webapp в только что созданную папку static. После копирования у вас появятся папки типа static/WEB-INF, static/templates и т. д.
  • Запустите команду java -jar ujcms-***.jar в папке развёртывания, чтобы запустить приложение.

Полная структура каталогов:

  • ujcms-***.jar
  • static/WEB-INF/...
  • static/templates/...
  • static/uploads/...
  • static/cp/...

О пути развёртывания

Обычно программы развёртываются в корневом каталоге Tomcat, и адреса начальной страницы выглядят как http://www.mysite.com/, http://localhost/, http://localhost:8080/. В некоторых особых случаях, например, при использовании стандартного запуска Tomcat в Eclipse, программа может быть развёрнута в определённом пути, и начальная страница будет доступна по адресам типа http://www.mysite.com/ujcms/, http://localhost/ujcms/, http://localhost:8080/ujcms/. В этом случае при доступе к веб-сайту на передней панели может возникнуть проблема с отображением стилей. Вы можете настроить путь контекста в настройках бэкенда («Конфигурация — Глобальные настройки»), например, /ujcms, где / — обязательный символ, а ujcms — путь развёртывания каталога, например, имя проекта в среде разработки.

В среде разработки рекомендуется избегать использования пути контекста, если только сайт не будет развёрнут в соответствующем пути при переходе в производственную среду. В противном случае изображения, загруженные в процессе разработки, не будут отображаться при развёртывании в рабочей среде. Это связано с тем, что при загрузке изображений их адреса содержат информацию о пути контекста (/ujcms/uploads/...).

По умолчанию запуск Tomcat в Eclipse приводит к развёртыванию программы в определённом каталоге перед запуском, а не непосредственно в каталоге проекта. Поэтому изображения, которые были загружены или созданы через систему, включая шаблоны, сохраняются в определённом месте развёртывания и не сохраняются в каталоге программы. Когда вы изменяете код или файлы в Eclipse, происходит автоматическое повторное развёртывание программы, и ранее загруженные изображения удаляются. Если в среде разработки вы обнаружите, что внезапно все загруженные вами изображения исчезли, это может быть причиной.

Исходя из вышесказанного, рекомендуется использовать способ запуска программы, описанный в разделе «Запуск программы».

Шаблоны передней панели

Шаблоны передней панели находятся в каталоге /src/main/webapp/templates и используют технологию Freemarker. Изменяя файлы шаблонов, можно полностью контролировать отображение содержимого веб-страницы. Также возможно использование Vue (React)+API для создания веб-сайта.

Бэкенд технологии

  • Spring Boot: предоставляет готовые функции Spring. Упрощает настройку Spring и предоставляет функцию автоматической настройки auto-configuration.
  • Spring MVC: фреймворк MVC, простой в использовании и с небольшим количеством ошибок.
  • Spring Security: компонент безопасности.
  • MyBatis: фреймворк персистентности.
  • Lucene: компонент полнотекстового поиска.

Технологии бэкенда передней панели

  • TypeScript: надмножество JavaScript.
  • Vue3: фреймворк JavaScript.
  • ElementPlus: UI-фреймворк Vue 3.
  • Vite: инструмент для разработки и сборки следующего поколения для фронтенда.
  • Tailwind CSS: CSS-фреймворк, ориентированный на функциональность.
  • VueRouter: компонент маршрутизации Vue.
  • VueI18n: компонент интернационализации Vue.
  • Tinymce: редактор форматированного текста.

Веб-технологии передней панели

Веб-технологии передней панели могут использовать традиционный HTML (Freemarker) и получать данные через пользовательские теги Freemarker, предоставляемые UJCMS. Они также могут использовать API для вызова данных после разделения передней и задней частей.

Из-за того, что разделение передней и задней части не подходит для поисковых систем, оно не рекомендуется для сайтов, которые хотят продвигаться через поисковые системы.

Демонстрационный сайт использует традиционный HTML (Freemarker) и включает следующие технологии:

  • Freemarker
  • HTML, CSS, JS
  • Bootstrap
  • JQuery
  • Axios

Структура каталогов

  • src
    • main
      • java
        • com/ujcms/cms
          • core
            • domain: сущности
            • generator: функции генерации (включая генерацию статических страниц и полнотекстовых индексов)
            • listener: классы прослушивания (включая прослушивание удаления данных)
            • lucene: функции полнотекстового поиска
            • mapper: файлы Java Mapper для MyBatis
            • security: функции безопасности
            • service: сервисы
            • support: различные вспомогательные классы
            • web
              • api: интерфейс API передней панели
              • backendapi: интерфейс API задней панели
              • directive: пользовательские теги передней панели Freemarker
              • frontend: контроллер передней панели
              • support: веб-поддержка (включая веб-перехватчики и т. д.)
            • ContextConfig.java: класс конфигурации контекста
            • LuceneConfig.java: класс конфигурации полнотекстового индекса
            • ShiroConfig.java: класс конфигурации безопасности Shiro
            • TaskExecutorConfig.java: класс конфигурации исполнителя задач
          • Application.java: стартовый класс
        • com/ujcms/util: общие утилиты
      • resources
        • com/ujcms/cms/core/mapper: конфигурация XML Mapper для MyBatis.
        • db
          • changelog: журнал обновлений структуры базы данных. data.mysql.sql: SQL-скрипт для инициализации данных в базе данных.

application.yaml: файл конфигурации программы, который включает информацию о URL базы данных, имени пользователя и пароле.

messages.properties: файл ресурсов для интернационализации.

webapp: cp: страница бэкенда фронтенда. templates: шаблоны сайта фронтенда. uploads: файлы, загруженные пользователями. WEB-INF/lucene: индексный файл полнотекстового поиска.

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

.gitignore: список файлов и каталогов, которые не нужно добавлять в git.

CHANGELOG.md: журнал обновлений версий.

LICENSE: лицензия.

gulpfile.js: файл сборки фронтенда с функциями, такими как копирование файлов jQuery и Bootstrap в каталог шаблонов /src/main/webapp/template/1/default/_files.

package.json: компоненты JavaScript и CSS для фронтенд-шаблонов, такие как jQuery и Bootstrap.

pom.xml: файл конфигурации Maven.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Java CMS — система управления контентом с открытым исходным кодом на Java. Разработана с использованием технологий SpringBoot, MyBatis, Vue3, ElementPlus, Vite, TypeScript. Поддерживает headless CMS, позволяет настраивать поля и предоставляет возможность визуального проектирования полей. Можно использовать бесплатно для коммерческих веб-сайтов. Развернуть Свернуть
Apache-2.0
Отмена

Обновления (8)

все

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/ujcms-ujcms.git
git@api.gitlife.ru:oschina-mirror/ujcms-ujcms.git
oschina-mirror
ujcms-ujcms
ujcms-ujcms
master