【问题标题】:biojava package import errorbiojava包导入错误
【发布时间】:2013-11-02 06:59:10
【问题描述】:

我已经下载了 biojava jar 文件并保存在我的类路径中。我正在尝试从以下示例进行测试:http://www.biojava.org/wiki/BioJava:CookBook:Core:FastaReadWrite

但是,它给了我错误:

error: package org.biojava3.core.sequence does not exist   
import org.biojava3.core.sequence.ProteinSequence;

我在站点中显示的示例文件有 24 个错误。我将 jar 文件保存在类路径中。那为什么这给了我错误?我错过了任何一步吗?

【问题讨论】:

标签: java bioinformatics biojava


【解决方案1】:

请检查您的类路径设置和 biojava 版本。

我从网页中结合biojava 3.0.7版本的例子。 这是我所做的

  • 下载 biojava.jar

    wget http://biojava.org/download/maven/org/biojava/biojava3-core/3.0.7/biojava3-core-3.0.7.jar 
    
  • 创建一个 Java 文件 FastaOpen.java,其中包含从您的链接中获取的代码
  • 编译

    javac -cp .:biojava3-core-3.0.7.jar FastaOpen.java
    
  • 执行

    java -cp .:biojava3-core-3.0.7.jar FastaOpen
    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
    at FastaOpen.main(FastaOpen.java:20)
    

例外是好的,因为我没有指定文件名。 所以,对我来说,这个例子是有效的。如果我在编译时没有指定类路径,我会得到和你一样的错误,例如:

FastaOpen.java:5: error: package org.biojava3.core.sequence does not exist
import org.biojava3.core.sequence.ProteinSequence;

以上描述适用于 Linux。在 MS Windows 上,您应该尝试类似于以下命令(在 Powershell 中发布)

  • 编译

    PS > & 'C:\Program Files\Java\jdk1.7.0_45\bin\javac.exe' -cp "C:\Users\stefan\Downloads\biojava3-core-3.0.7.jar" .\FastaOpen.java
    
  • 执行

    PS > & 'C:\Program Files\Java\jdk1.7.0_45\bin\java.exe' -cp "C:\Users\stefan\Downloads\biojava3-core-3.0.7.jar;C:\Users\stefan\Downloads" FastaOpen
    

    (文件、java 源/类和 jar 都位于 Downloads 目录中。

【讨论】:

  • 你能告诉我你下载后做了什么步骤吗?我做了同样的事情,但我仍然在错误槽中。
  • 没什么特别的。我刚刚通过-cp 确保 biojava jar 在类路径中。你是在命令行编译的吗?
  • 你的类路径是什么样的?
  • 我将所有 jar 文件保存在“C:\Program Files (x86)\Java\jre7\bin”中,然后在环境变量中添加了该路径。是这样吗?
  • 嗯,不是真的。不应将 JAR 文件放入 JRE 的 bin 目录中。此目录应仅包含 JRE 的二进制文件/可执行文件。通常,您将 JAR 放入 Java 项目目录中的一个单独的 lib 文件夹中。在我/我们的例子中,我跳过了这一步,将 java 文件和 JAR 文件放在同一个目录中。
猜你喜欢
  • 1970-01-01
  • 2017-05-02
  • 2010-10-09
  • 2023-03-30
  • 1970-01-01
  • 2012-08-04
  • 2016-07-01
  • 2017-12-06
  • 2015-07-04
相关资源
最近更新 更多