问题描述
摘要:我想使用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
具体地说,
- 我从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>
-
并将其粘贴到我项目的 pom.xml
-
接下来,在NetBeans 12.2 IDE中,我执行了清理并构建项目。该过程下载了所有Apache Commons 3.6.1文件并成功编译了项目。在“项目”选项卡的“依赖关系”文件夹下,我看到了 commons.math3-3.6.1.jar 。我导航到 Primes.class 。
import org.apache.commons.math3.primes.Primes;
NetBean 12.2 IDE在导入报告“未使用的导入”下显示了一个黄色的花样。
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)){…}
解决了您的问题。