Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Прописать в pom.xml или в качестве parent lsfusion.platform.build:logics, или в качестве dependency lsfusion.platform:server (на данный момент эти артефакты не находятся в центральном репозитарии, поэтому дополнительно необходимо прописать путь к lsFusion-репозитарию), например:

    Code Block
    <repositories>
        <repository>
            <id>lsfusion</id>
            <name>lsFusion Public Repository</name>
            <url>http://repo.lsfusion.org</url>
        </repository>
    </repositories>
    
    <parent>
        <groupId>lsfusion.platform.build</groupId>
        <artifactId>logics</artifactId>
        <version>2.0</version>
    </parent>

    Первый вариант (с parent) хорош тем, что:

    • Anchor
      uber
      uber
      Maven автоматически настроит сборку uber-jar (то есть один файл содержащий все файлы проекта). Запустить эту сборку можно используя maven-профиль assemble - при его включении на фазе package дополнительно формируется jar-файл с постфиксом assembly, который содержит не только файлы этого проекта, но и файлы всех зависимостей проекта, в том числе файлы самого сервера приложений. Впрочем, в случаях когда сервер приложений устанавливается отдельно от самого приложения (например, при автоматической установке) включение сервера приложения в результирующий uber-jar нежелательно. Поэтому, помимо assemble, в платформе также поддерживается maven-профиль noserver, при включении которого (вместе с assemble) при формировании jar-файла с постфиксом assembly туда не будут включаться файлы сервера приложений (пример команды : mvn package assemble noserver).

    • Maven и IDE автоматически определят source и resources директории (например таким по умолчанию является src/main/lsfusion)
    • Maven автоматически настроит weav'инг аспектов сервера приложений. Впрочем, это необходимо в достаточно редких случаях: если в проекте есть прикладные rmi-сервера (то есть объекты наследующие lsfusion.interop.server.RmiServerInterface, доступ которыми осуществляется удаленно через RMI) или используются различные системные аннотации сервера приложений (например lsfusion.server.base.caches.IdentityLazy для кэширования результатов выполнения).

    По втором варианте все вышеперечисленное необходимо настраивать вручную непосредственно разработчику.

    Также как и для других проектов, не созданных при помощи операции создания нового lsFusion проекта, для maven-проекта необходимо вручную создать файл настроек и конфигурацию запуска (или если платформу необходимо подключить в качестве библиотеки использовать специальный Spring bean)

...