java - 在运行时找不到依赖项maven

标签 java maven-2

我是 maven 的新手,对 java 也有些陌生。尝试了谷歌和相关资源,但没有找到与我的情况相似的资源。

现在,我有 Maven 项目 XYX 可以看作是带有一些实用程序的共享库,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/

相关文章:

Java,解密文件的问题

eclipse - Java EE eclipse 项目目录结构?

maven-2 - Maven 站点部署构建错误

java - Spring + Maven : separate property files for unit tests and integration tests

java - @RunWith 导致 Maven 忽略我用自己的运行者运行的测试

maven-2 - Maven 中的多模块项目

java - scala sbt 和公司代理 - SunCertPathBuilderException

Java 泛型 : actual argument T cannot be converted to int by method invocation conversion

java - 在android上使用SQLITE出现列约束错误

java - Spring DI、领域模型和最佳实践