当前位置: 首页 > 知识库问答 >
问题:

如何使文件从依赖项JAR在命令行执行过程中可访问?

司徒俊雄
2023-03-14

我有2个项目:

项目A在src/main/resources中有folder/file.ext。构建时,它存在于a.jar中。

项目B引用了代码中的某个位置的folder/file.ext。

我不能改变项目A或B或它们的构建方式。

从命令行运行project B时:

java -cp a.jar com.mycompany.mygroup.MainClass

我正在获得一个FileNotFoundException。

我想知道,是否有一种方法可以使它工作,使folder/file.ext对project B的主类可见/可用,而不需要构建一个fat jar或类似的东西。

多谢了。

共有1个答案

百里伟
2023-03-14

尝试在项目A中添加另一个源文件夹,其中包含项目B的内容。

不确定为什么需要两个不同的项目,而不是用不同的包/文件夹在一个项目中添加所有代码。

 类似资料:
  • 其中/usr/local/bin/kiaragen.jar是要执行的文件。现在,我尝试运行一个依赖于a.class文件的不同版本: 将文件添加到类路径: 提供以下异常: 如何将.class文件添加到类路径?

  • 我正在尝试使用Ant1.9.6从您的项目中构建一个jar文件。在构建jar文件时,我没有得到任何编译错误,但是在执行它时,我得到了NoClassDefoundError。我已经在生成的清单文件中验证过,我可以看到所需的依赖JAR被添加到类路径中,如class-path:lib/a.jar lib/b.jar lib/c.jar。lib文件夹与src文件夹并行,因此不可能是问题。我正在Mac OS上

  • 我有一个包含以下文件的Java项目: C:\MyProject\myPackage\MyTests.class C:\MyProject\lib\junit-platform-console-standalone-1.5.2.jar C:\MyProject\lib\other-library.jar MyTests 文件是使用 IDE 编译的,该 IDE 具有 junit-platform-co

  • 问题内容: 我有一个使用外部jar的应用程序。我使用了eclipse,效果很好。我从eclipse导出为jar,创建了一个清单文件,该文件具有Class- Path:./cab.v1.jar,我将两个jar都放在了同一目录中。我在命令行中运行:java -jar myApp.jar 并为cab.v1.jar(另一个jar)中的类获取 java.lang.NoClassDefFoundError 也

  • 我有以下文件: 我运行以下命令: 但它什么也没做。依赖项不会得到更新,也不会反映在类路径上。命令的输出为: 不过,通过EclipseGradle插件实现这一点是可行的。

  • 我有一个mvn项目,它包含对apache Commons-Lang3的依赖。我设法为这个jar文件生成了一个manifest.mf,它通过我的远程服务器上的java-jar.jar启动。然而,它不包括任何依赖项,我不知道为什么。 您可以看到,它正确地将依赖关系解析为commons-lang并将其放入清单中。但实际文件不见了。 有人知道为什么吗?