不知道如何将joinfaces包含到多模块gradle构建中

如何解决不知道如何将joinfaces包含到多模块gradle构建中

我的一个旧应用是Java 8 Enterprise Mololith,我想迁移它。

我想将其迁移到包含Primefaces, 通过使用联接面将myfaces和omnifaces分成较小的部分(多模块项目) 以获得更好的维护。

因此,我将项目分为以下模块,成为可以工作的原型:

Project overview

模块的简短说明:

  • Common / ComDb:这里仅是生成的JPA实体,直接从数据库分类,所有模块都可以使用这些类
  • Libraries / LibPrimeFaces:这只是应在SpringBoot中使用的最新的Elite JAR素数
  • Libraries / LibPrimeFacesTheme:这是一个购买的primefaces主题,将被生成的JAR捆绑并包含在其中。
  • 服务/ *:应使用的每个spring boot服务都位于此处,因此可以在主应用程序中使用,也可以在REST上的外部服务中使用它
  • 应用程序:这是Spring Boot应用程序,其中应包括上述所有内容-甚至最后是一个可运行的jar文件

对我来说现在的问题是使用gradle对我来说是全新的:

我不知道如何结合使用gradle来从Elite订阅,omnifaces 3和myfaces购买的primefaces-8.0.5.jar结合joinfaces

大多数手册是针对Maven的,但是如果我不喜欢它们,它们似乎就不起作用了。 转换脚本。

目前,整个项目已编译并开始,没有任何错误,但是现在我找不到在像我这样的多模块环境中使用joinfaces和gradle的可行示例。

以下是主要的gradle脚本:

根脚本:

gradle.properties(保留版本):

VersionspringBoot=2.3.5.RELEASE
VersionspringDependencyManagement=1.0.10.RELEASE
VersionPrimeFaces=8.0.5

settings.gradle(包括名称):

rootProject.name = 'EcoCalcDD4Web'
include 'Common:ComDb'
include 'Libraries:LibPrimeFaces'
include 'Services:ServiceConfigWebManagement'
include 'Application'

build.gradle(主生成文件):

buildscript {
    repositories {
        mavenCentral()
        maven {
            url './Libraries/LibPrimeFaces'
        }
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${VersionspringBoot}")
    }
}

allprojects {
    group = 'com.skf.rocket'
    version = '1.0.0'

    repositories {
        mavenCentral()
        maven {
            url './Libraries/LibPrimeFaces'
        }
    }
}

subprojects {
    apply plugin: 'java-library'
    apply plugin: 'io.spring.dependency-management'

    repositories {
        mavenCentral()
        maven {
            url './Libraries/LibPrimeFaces'
        }
    }

    dependencyManagement {
        imports {
            mavenBom("org.springframework.boot:spring-boot-dependencies:${VersionspringBoot}")
        }
    }

    dependencies {
        testImplementation 'org.springframework.boot:spring-boot-starter-test'
    }
}

这里是应用程序build.gradle-该文件,其中joinfaces应该与我的素字,全脸和myfaces一起使用。 在这里,我不知道要添加什么以使所有内容都从joinfaces开始:

apply plugin: 'org.springframework.boot'

bootJar {
    mainClassName = "com.skf.rocket.EcoCalcDd4Webrocket"
}

// Maven dependencies
dependencies {
    // Internal dependencies
    api project(':Common:ComDb')
    // Implementation project('Libraries:LibPrimeFacesTheme')
    api project(':Services:ServiceConfigWebManagement')

    // External dependencies
    // joinfaces + MyFaces + PrimeFaces - Todo ??

    // Development tools with HotReDeploy
    developmentOnly 'org.springframework.boot:spring-boot-devtools'
    // Automatically configuration
    annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'
    // Lombok - Utility
    compileOnly 'org.projectlombok:lombok'
    annotationProcessor 'org.projectlombok:lombok'
    // Global cache
    implementation 'org.springframework.boot:spring-boot-starter-cache'
    // Data access + MS sql driver
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    runtimeOnly 'com.microsoft.sqlserver:mssql-jdbc'
    // Data validation
    implementation 'org.springframework.boot:spring-boot-starter-validation'
    // Web + RestService
    implementation 'org.springframework.boot:spring-boot-starter-web'
    // Session management
    implementation 'org.springframework.session:spring-session-core'
    // Boot Acturator - Application monitoring and alive checks
    compile group: 'org.springframework.boot',name: 'spring-boot-starter-actuator'
    // Unit test
    testImplementation('org.springframework.boot:spring-boot-starter-test') {
        exclude group: 'org.junit.vintage',module: 'junit-vintage-engine'
    }
}

test {
    useJUnitPlatform()
}

解决方法

首先,您应该看一下以下资源:

要开始使用JoinFaces,您需要依赖org.joinfaces:jsf-spring-boot-starter。 因为要使用MyFaces代替Mojarra,所以必须将其排除在外,然后拉MyFaces。

我将从这些依赖性开始:

    implementation ("org.joinfaces:jsf-spring-boot-starter") {
        exclude module: "mojarra-spring-boot-starter"
    }
    implementation "org.joinfaces:myfaces-spring-boot-starter"
    implementation "org.joinfaces:omnifaces1-spring-boot-starter"

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?