将Maven资源库中的Apache Common Math 3.6.1项目添加到NetBeans 12.x中的Maven项目中

问题描述

摘要:我想使用Apache Common Math项目中的质数函数解决质数问题。 Apache NetBeans IDE 12.2抱怨“找不到符号” isPrime(),并且程序无法编译。
发生了什么事?

详细信息

使用在Windows 10上运行的Apache NetBeans IDE 12.2,我创建了一个Maven Java应用程序项目。 然后,我按照Ojonugwa Jude Ochalifuon在18年3月24日发布的指示Adding external JAR to Maven project in NetBeans

具体地说,

  1. 我从Apache Math 3.6.1复制了Maven依赖项XML
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-math3 -->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-math3</artifactId>
    <version>3.6.1</version>
</dependency>
  1. 并将其粘贴到我项目的 pom.xml

  2. 接下来,在NetBeans 12.2 IDE中,我执行了清理并构建项目。该过程下载了所有Apache Commons 3.6.1文件并成功编译了项目。在“项目”选项卡的“依赖关系”文件夹下,我看到了 commons.math3-3.6.1.jar 。我导航到 Primes.class

  3. 接下来,我在.java文件添加了以下导入命令:

    import org.apache.commons.math3.primes.Primes;

NetBean 12.2 IDE在导入报告“未使用的导入”下显示一个黄色的花样。

  1. 然后,我添加了以下代码段:
    if (isPrime(candidate)) { … }

NetBean 12.2 IDE在 isPrime()方法(在Apache Math 3.6.1程序包中定义)下显示一个红色的花样。

当我按下Shift + F6键运行文件时,出现以下编译时错误

无法在项目ProjectEuler上执行目标org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile(default-compile):编译失败 robcor / projecteuler / Problem0027.java:[20,16] 错误:找不到符号

这是怎么回事?

在此先感谢您的帮助。非常感谢。

解决方法

也许

if(Primes.isPrime(candidate)){…}

解决了您的问题。