我是 maven 的新手,对 java 也有些陌生。尝试了谷歌和相关资源,但没有找到与我的情况相似的资源。
现在,我有 Maven 项目 X
和 Y
。 X
可以看作是带有一些实用程序的共享库,Y
是一个简单的 JFrame
,带有 “hello world”
在 X
中打印和调用静态方法。
我在项目 X
上执行了“run as maven install
”,得到了 “build successful”
。我将项目 X
添加为项目 Y
中的依赖项(使用 Eclipse 中的 pom 编辑器,浏览存储库并找到它)。我在项目 Y
上执行了“作为 maven 包
运行”,得到了 “构建成功”
。在通过 java -jar
运行项目 Y
或检查生成的 jar 时,项目 X
到处都不见了,我得到一个奇特的类未找到异常. Eclipse 找到它并且在源代码编辑器中没有编译错误。
为什么它只能在 Eclipse 编辑器中工作而不是作为 jar?
POM:
<dependency>
<groupId>com.company.deployment.shared</groupId>
<artifactId>com.company.deployment.shared</artifactId>
<version>0.0.1-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
最佳答案
Maven 不会为您生成组合的 JAR 文件。 Eclipse 正在做的是查看 Maven 配置并在它运行时将所有必需的类/jar 添加到类路径中。
如果您想从命令行运行您的程序,您将需要手动将所有 JAR 添加到您的类路径中。
或者,您可以运行您的程序 directly from Maven这应该设置你所有的依赖项。根据您想要执行的操作,有许多选项,即如果它是一个由最终用户运行的应用程序,您可以查看 one-jar Maven plugin .
关于java - 在运行时找不到依赖项maven,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6621563/