首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jib级插件多模块项目ClassNotFoundException

Jib级插件多模块项目ClassNotFoundException
EN

Stack Overflow用户
提问于 2020-12-11 22:21:04
回答 2查看 832关注 0票数 1

我有多模块分级项目,并使用Jib插件,以建立码头形象和推送到注册表。

但是,当我构建映像并尝试运行这个映像时,我得到了以下异常:

错误:无法找到或加载主类Xmx512m

原因: java.lang.ClassNotFoundException: Xmx512m

下面是我的根build.gradle文件:

代码语言:javascript
复制
plugins {
    id 'org.springframework.boot' version "$springBootVersion" apply false
    id 'io.spring.dependency-management' version "$springDependencyManagerVersion" apply false
    id 'com.google.cloud.tools.jib' version "$jlibVersion" apply false
}

def javaMicroservices = [
        project(':akt-user-management-ms'),
        project(':akt-applications-ms')
]

allprojects {
    repositories {
        mavenCentral()
        jcenter()
    }

    apply plugin: 'java'

    dependencies {
        implementation "io.jsonwebtoken:jjwt-api:${jwt_version}"
        implementation "io.jsonwebtoken:jjwt-impl:${jwt_version}"
        implementation "io.jsonwebtoken:jjwt-jackson:${jwt_version}"
    }
}

subprojects {
    sourceCompatibility = jdk_version
    targetCompatibility = jdk_version

    apply plugin: 'pmd'
    apply plugin: 'checkstyle'

    pmd {
        toolVersion = '6.10.0'
        ruleSets = []
        ignoreFailures = false
        rulePriority = 3
        ruleSetFiles = files("${rootProject.projectDir}/qa/pmd.xml")
    }

    checkstyle {
        toolVersion = '8.15'
        configFile = file("${rootProject.projectDir}/qa/checkstyle.xml")
        ignoreFailures = false
    }
    tasks.withType(Test) {
        maxParallelForks = Runtime.runtime.availableProcessors().intdiv(2) ?: 1
    }
}

configure(javaMicroservices) {
    apply plugin: 'com.google.cloud.tools.jib'

    jib {
        to {
            image = "$dockerRepoUrl/${project.name}"
        }
        container {
            jvmFlags = ['Xmx512m']
            creationTime = 'USE_CURRENT_TIMESTAMP'
        }
    }

}

根settings.gradle

代码语言:javascript
复制
rootProject.name = 'xxxx'
include 'akt-user-management-ms' //8080
include 'akt-applications-ms' //8081
include 'middleware' //8082

此项目之一的build.gradle文件。(除受抚养外,它们都是相同的):

代码语言:javascript
复制
plugins {
    id 'org.springframework.boot'
    id 'io.spring.dependency-management'
    id 'java'
    id 'com.google.cloud.tools.jib'
}

group = 'az.ingress.user.management'
version = '0.0.1-SNAPSHOT'

configurations {
    compileOnly {
        extendsFrom annotationProcessor
    }
}

repositories {
    mavenCentral()
}

dependencies {
    implementation project(":common")

    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.springframework.boot:spring-boot-starter-security'
    implementation 'org.springframework.boot:spring-boot-starter-validation'
    implementation 'org.springframework.boot:spring-boot-starter-web'

    implementation "io.springfox:springfox-swagger2:$swaggerVersion"
    implementation "io.springfox:springfox-swagger-ui:$swaggerVersion"

    implementation 'org.liquibase:liquibase-core'

    compileOnly 'org.projectlombok:lombok'
    annotationProcessor 'org.projectlombok:lombok'

    runtimeOnly 'mysql:mysql-connector-java'

    testImplementation 'org.springframework.security:spring-security-test'
    testImplementation('org.springframework.boot:spring-boot-starter-test') {
        exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
    }
}

test {
    useJUnitPlatform()
}

找不到任何解决办法。尝试了很多事情,但却一次又一次地得到这个异常。

注意:使用jib版本:2.6.0

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-12-11 22:33:37

命令行选项通常以---作为前缀。在这种情况下,应该是-Xmx512m。如果没有-java会认为Xmx512m是一个Java主类名。

代码语言:javascript
复制
$ java -Xmx512m com.example.HelloWorldMain
hello world
$ java foo
Error: Could not find or load main class foo
Caused by: java.lang.ClassNotFoundException: foo
$ java Xmx512m
Error: Could not find or load main class Xmx512m
Caused by: java.lang.ClassNotFoundException: Xmx512m
票数 0
EN

Stack Overflow用户

发布于 2020-12-11 22:24:31

我将jvmFlags = 'Xmx512m‘从根build.gradle中删除,并按预期工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65259406

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档