繁体   English   中英

尝试jun java -cp my-jar.jar org.test.MyClass,但找不到类

[英]Trying to jun java -cp my-jar.jar org.test.MyClass but it can't find class

我有一个项目,可以将其编译为胖子(包括依赖项)。 我也有这样的课...

package com.me;
class MyClass{
    public static void main(String[] args){
        System.out.println("Working");
    }
}

如果我打开罐子,我会在运行时看到类文件。

java -cp my-jar.jar com.me.MyClass

我收到以下错误...

错误:找不到或加载主类com.me.MyClass原因:java.lang.ClassNotFoundException:com.me.MyClass

为什么它没有进入类路径? 正确的方法是什么?

我在Windows上,所以可能有所不同。

更新资料

我有以下代码,使其在我的build.gradle中成为胖子...

task fatJarTest(type: Jar) {
    baseName = project.name + '-test-all'
    from sourceSets.test.output
    from {
       configurations.testCompile.collect { it.isDirectory() ? it : zipTree(it) } 
    }
    with jar
}

当我注释掉

from {
    configurations.testCompile.collect { it.isDirectory() ? it : zipTree(it) } 
}

并重新创建该jar,然后一切正常,但它不是胖jar。

我的问题与依赖项冲突有关,我必须在Build.gradle中添加以下内容...

dependencies {
    ...
    testCompile('org.springframework.boot:spring-boot-starter-test'){
        exclude group: "org.ow2.asm", module: "asm"
    }
}
task fatJarTest(type: Jar) {
    baseName = project.name + '-test-all'
    from {
       configurations.testCompile.collect { it.isDirectory() ? it : zipTree(it) }
    }{
        exclude "META-INF/*"
        exclude "META-INF/*.*"
        exclude "META-INF/**/*.*"
        exclude "LICENSE.txt"
    }
    from sourceSets.test.output
    with jar
}

基本上,这是一个问题( https://github.com/spring-projects/spring-boot/issues/7934 ),另一个是META-INF互相挤压。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM