java.lang.noclassdeffounderror仅在具有gradle版本的命令行中

gg58donl  于 2021-07-03  发布在  Java
关注(0)|答案(0)|浏览(177)

我用“java-jar myfile.jar arg1 arg2…”试图让java程序通过命令行运行了几个小时,但我只在通过命令行运行时遇到这个错误。此外,该程序还有一个ui界面(带有swing),运行起来没有问题。
堆栈跟踪:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/poi/ss/usermodel/Row
        at CSV2Excel.NewJFrame.main(NewJFrame.java:467)
Caused by: java.lang.ClassNotFoundException: org.apache.poi.ss.usermodel.Row
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        ... 1 more

grad尔:

apply plugin: 'java'
apply plugin: 'jacoco'
apply plugin: 'application'

mainClassName = 'CSV2Excel.NewJFrame'
jar {
    manifest {
        attributes(
            'Class-Path': configurations.compile.collect { $it.getName() }.join(' '),
            'Main-Class': 'CSV2Excel.NewJFrame',
        )
    }
}

repositories {
    jcenter()
}

dependencies {
    testImplementation     'junit:junit:4.13'
    implementation 'org.json:json:20200518'
    implementation 'org.apache.poi:poi-excelant:4.1.2'
    implementation 'com.opencsv:opencsv:5.3'
}

如果我在类路径中指定单独的jar而不是“configurations.compile.collect{$it.getname()}.join(''')”,我会得到一个错误,即没有存储主类属性。
说到grad尔,我完全是个初学者。
非常感谢你。
编辑:我正在使用netbeans构建我的项目,它给我一个zip文件,其中包含一个bin和lib目录,其中包含所有必需的lib。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题