我正在构建一个非常基本的java项目来学习gradle,我在添加依赖项时遇到了麻烦
这是我的build. gradle:
apply plugin: 'java'
apply plugin: 'idea'
repositories {
// JCenter (https://bintray.com/bintray/jcenter)
jcenter()
// Maven central repo
mavenCentral()
}
dependencies {
// Apache Commons Math 3.6.1
compile 'org.apache.commons:commons-math3:3.6.1'
// Google Guice
compile 'com.google.inject:guice:4.1.0'
}
这是我的文件结构
project
├── build
├── build.gradle
└── src
├── main
│ ├── java
| | |__Main.java
│ └── resources
└── test
├── java
└── resources
在Main.java我遵循了一个简单的公地数学例子:
import org.apache.commons.math3.stat;
public class Main {
public static void main(String[] args) throws Exception {
double[] values = new double[] {65, 51, 16, 11, 6519,
191 , 0, 98, 19854, 1, 32};
DescriptiveStatistics descriptiveStatistics = new DescriptiveStatistics();
for (double v : values) {
descriptiveStatistics.addValue(v);
}
double mean = descriptiveStatistics.getMean();
double median = descriptiveStatistics.getPercentile(50);
double standardDeviation = descriptiveStatistics.getStandardDeviation();
System.out.println(mean + "\n" + median + "\n" + standardDeviation);
}
}
但是,当我尝试构建我的项目时,我得到了找不到符号错误。
Main.java:1: error: cannot find symbol
import org.apache.commons.math3.stat;
^
symbol: class stat
我不确定这是Gradle的问题还是我如何构建我的项目(当运行“gradle依赖项”时,一切似乎都很好)。
如何运行这个简单的示例?
问题是代码文件顶部的这一行:
import org.apache.commons.math3.stat;
由于stat
是一个包而不是一个类,编译器不确定该导入试图做什么,因此它出错了。
相反,尝试拉入您需要的类。在这种情况下,您看起来想要运算符统计
类:
import org.apache.commons.math3.stat.descriptive.DescriptiveStatistics;
或者如果使用了大部分包,则导入所有内容
import org.apache.commons.math3.stat.descriptive.*;