Java 包org.apache.commons不存在

Java 包org.apache.commons不存在,java,apache,classpath,javac,Java,Apache,Classpath,Javac,我想使用org.apache.commons.math3.distribution中的EnumeratedIntegerDistribution()来获得离散概率分布 int[] nums_to_generate = new int[] { -1, 1, 0 }; double[] discrete_probabilities = new double[] { 0.4, 0.4, 0.2 }; 我在windows Xp上使用jdk7,从命令行运行 我有:

我想使用
org.apache.commons.math3.distribution
中的
EnumeratedIntegerDistribution()
来获得离散概率分布

int[] nums_to_generate          = new int[]    { -1,   1,    0  };
double[] discrete_probabilities = new double[] { 0.4, 0.4, 0.2  };
我在windows Xp上使用jdk7,从命令行运行

我有:

  • 添加到我的源文件

    import org.apache.commons.math3; 
    
  • 下载commons-math3-3.2并将其解包到我的当前文件夹
  • 使用类路径编译我的源代码:(任意一个)

我仍然有一个神秘的想法

    "error: package org.apache.commons does not exist"
谁知道会发生什么?我真的需要帮助

注:

没有类路径和 导入“apache”并调用NumeratedIntegraterDistribution()

使用类路径编译而不使用“appache”给定 胡说八道的错误

非常感谢程序员们的高超技能


以下是简短的演示: 这就是问题所在:

import org.apache.commons.math3;
这是试图导入一个包-你不能这样做。您必须使用通配符导入:

import org.apache.commons.math3.*;
或导入特定类型:

import org.apache.commons.math3.SomeTypeHere;
在您的情况下,听起来您实际上想要:

import org.apache.commons.math3.distribution.EnumeratedIntegerDistribution;

我尝试了一个示例类,其中只包含导入和从Apache下载的jar文件,效果很好。

这些“无意义的错误”到底是什么?你能展示一个简短但完整的程序来演示这个问题吗?你不能只导入一个包,你需要导入实际的类。不过,您需要提供更多帮助信息,例如jar和类的位置等。commons-math3-3.2与源文件一起位于我的当前文件夹中。我正在添加一个有同样问题的短程序。如果它在您当前的文件夹中,那么为什么要给它一个jar文件的路径?嗨,Jon,编译是fin,但是在运行时可能找不到这个apache,这似乎会导致类未找到异常。谢谢你所做的一切。@Galia:是的,根据那里的答案,在运行它时,你也需要类路径上的jar文件。是的,它解决了问题。但不知何故创建了另一个:如果我现在运行任何java可执行文件(不使用apache),它们都会失败,错误是找不到principle类。再次启动或使用“.”as-cp参数都不会改变这一点。也许这与我现在拥有Sdk和Jdk这一事实有关,尽管在使用clathpass标志运行之前,这对我的其他java可执行文件没有问题。如果问题是其他的,请创建一个新问题。如果这个答案回答了原来的问题,则标记为已接受。
import org.apache.commons.math3.SomeTypeHere;
import org.apache.commons.math3.distribution.EnumeratedIntegerDistribution;