[英]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.