java - 从命令行执行包含 jar 的 jar

标签 java jar

我看到了running jar from command line .

但是我的情况有所不同。我将主类所需的 jar 放在 lib 文件夹下。所以我的 jar 是这样的:

lib
META-INF
VideoFieldsResults.class

在 META-INF 中我有:

Manifest-Version: 1.0
Main-Class: VideoFieldResults

当我尝试运行时:

java -jar VideoFormat.jar onBa32hgnBg,Lh-BKkLYYBU C:\VideoFormat2.csv

最后两个是我得到的参数:

Exception in thread "main" java.lang.NoClassDefFoundError: com/google/gdata/util
/ServiceException

它确实存在于其中一个 jar 下!

如何运行命令行来指定该 jar 需要 lib 文件夹下的所有 jar?

最佳答案

默认情况下,Java 无法从 jar 内加载 jar。为了实现这一点,您需要一个可以处理它的类加载器。例如One-Jar 。还有其他选项(取决于您如何设置将 jar 放入 jar 内,或者是否可以选择压平 jar ),我建议回答 this other question

关于java - 从命令行执行包含 jar 的 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6005206/

相关文章:

java - 我应该使用哪个 InitialContextFactory?

java - java中的字符串编码

java - Math.pow(x,2) 正方形面积

java - eclipse中打包可执行jar文件报错

java - 如何使用 Gradle 访问 Java 项目中的资源?

java - 父类调用子类的静态方法

java - 是什么阻止 Java 使用多种签名算法验证签名的 jar

java - 如何将 JavaFX 11 项目导出到 Jar 中?

java - jar 在我的机器上速度更快,但在其他机器上速度较慢

java - 什么 IDE 用于 Spring Framework Web 应用程序?