Java 使用文件夹中的jar执行jar文件

Java 使用文件夹中的jar执行jar文件,java,jar,classpath,manifest.mf,Java,Jar,Classpath,Manifest.mf,我在windows环境中的E:/foo/bar文件夹中。我有一个jar文件,名为E:/foo/bar/a.jar。在foo/bar中还有很多jar文件。在foo/bar下还有另一个名为ext的目录。它还包含很多jar文件 我想用类路径(当前目录和ext目录)中包含的jar运行a.jar。所以我用了这个 java -jar a.jar -classpath *:/ext/* 这不管用。我没有在a.jar的MANIFEST.MF中添加任何条目,我认为这将从-classpath条目中获取。我做错了什

我在windows环境中的E:/foo/bar文件夹中。我有一个jar文件,名为E:/foo/bar/a.jar。在foo/bar中还有很多jar文件。在foo/bar下还有另一个名为ext的目录。它还包含很多jar文件

我想用类路径(当前目录和ext目录)中包含的jar运行a.jar。所以我用了这个

java -jar a.jar -classpath *:/ext/*
这不管用。我没有在a.jar的MANIFEST.MF中添加任何条目,我认为这将从-classpath条目中获取。我做错了什么


谢谢

如果指定了
-jar
,则将忽略
-classpath
选项

我可以看到两种可能的行动方案:

  • 在主Jar中放置一个清单,该清单不指定其他Jar
  • 在运行时指定类路径。
  • 删除调用的
    -jar
    选项
  • 指定所有依赖jar
  • 将完全限定的类名添加到命令末尾,类似于
    java-classpath*:/ext/*com.our.MainClass

  • 谢谢你的车坏了。它在线程“main”java.lang.NoClassDefFoundError中引发异常:test.test.MyClassI不确定通配符,我不使用它们。尝试在类路径中显式地使用主类指定Jar,并查看错误消息是否更改。问题是有数百个Jar文件。我不知道哪些是需要的,哪些不是。需要的是包含主类的那个。你能认出那个吗?请注意,我的建议并不是作为最终解决方案(通过我的第1点可以找到。您似乎忽略了这一点),它只是作为一种调试帮助,以确认通配符是否具有所使用的任何效果。我使用了主类,当我测试上述内容时,它就在那里。还有其他解决办法吗?我听说Java6及以上版本支持这样的通配符