如何为模块路径添加依赖项?

时间:2018-08-25 23:03:02

标签: java java-9 jgrasp

我对编程非常陌生,在从事我的第一个软件开发项目时,遇到了以下错误:“包javax.activation不可见。”我读过其他帖子,这些帖子说要修复该错误,必须向模块路径添加依赖项吗?

因为我才刚刚起步,所以我真的不知道这意味着什么以及如何解决这个问题,并且想知道是否有人可以指出我正确的方向?提前致谢。 (如果重要的话,我也在使用JGrasp)

1 个答案:

答案 0 :(得分:4)

广义上讲,依赖项是应用程序需要编译的代码(通常由其他人编写)。

在您的情况下,依赖项是一个Java库,其中包含需要放在类路径中的类。您可以在这里找到有关类路径的更多信息:https://docs.oracle.com/javase/tutorial/essential/environment/paths.html。为了克服问题中提到的错误,您需要在类路径上具有javax.activation模块依赖项。

您可以通过几种方式来实现。在大多数IDE(在您的情况下,我们谈论的是JGrasp)中,都有一种直接向项目添加依赖项的方法。然后,您的IDE将在给定的类路径依赖下编译代码,从而解决问题。那将是第一个也是最适合初学者的方式,不幸的是,我对JGrasp并没有最模糊的想法,所以我将专注于其他解决方案。

执行此操作的第二种方法是使用构建自动化工具(例如Apache MavenGradle)来构建程序。您绝对应该检查那些人,因为在构建Java代码时它们非常有用,而且迟早您可能仍会开始使用它们。假设您选择了Apache Maven。在您的项目中,您将有一个pom.xml文件,您只需在Maven Central存储库中查找所需的依赖项,然后将其添加到pom.xml文件的依赖项部分中,然后构建应用程序。您的pom看起来像这样:

  <project>
        ...
        <dependencies>
    <!-- https://mvnrepository.com/artifact/javax.validation/validation-api -->
    <dependency>
    <groupId>javax.validation</groupId>
    <artifactId>validation-api</artifactId>
    <version>2.0.1.Final</version>
    </dependency>
    </dependencies>
    ...
    </project>

当然,Apache Maven不是轻量级的工具,因此您必须花一些时间来学习如何使用它构建代码。我建议从本教程开始: https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html 我还鼓励您使用Apache Maven文档,因为它非常易读和透明。

我想到的最后一种方法是手动编译您的应用程序,并在编译过程中包括所需的依赖项。有很多关于SO的教程可以告诉您如何执行此操作,因此我将简单地总结并指出相关资源。您需要做的是找到所需的依赖项jar包。您将要搜索Maven中央存储库(请参阅:https://mvnrepository.com/),然后从那里下载您的.jar文件。接下来需要做的是学习如何将Java代码编译为.class文件,包括下载的jar。要获得如此出色的技能,请参阅以下内容:How to include jar files with java file and compile in command prompt

在这三种方式中,推荐的一种方式是了解Apache Maven或Gradle之类的构建工具。希望我能帮到您!祝你好运