簡體   English   中英

Eclipse Maven:“無法解析為類型”錯誤

[英]Eclipse Maven: “Cannot be resolved to a type” error

我正在嘗試使用OpenNLP 1.5.0構建一個簡單的句子檢測器。 我正在為此使用Maven Eclipse。 我從http://opennlp.sourceforge.net/models-1.5/下載了“ en-sent.bin”模型文件,並將其放在src / main / resources文件夾中。 我的pom.xml文件如下。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>dakshila.research</groupId>
    <artifactId>new1</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>new1</name>
    <url>http://maven.apache.org</url>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project> 

在“ src / main / java”文件夾中,我創建了“ dk.research.new1”包,其App.java文件包含以下代碼。

package dk.research.new1;

public class App{
    public void SentenceSplitter() {
        SentenceDetector sentenceDetector = null;
        InputStream modelIn = null;

        try {
           modelIn = getClass().getResourceAsStream("en-sent.bin");
           final SentenceModel sentenceModel = new SentenceModel(modelIn);
           modelIn.close();
           sentenceDetector = new SentenceDetectorME(sentenceModel);
        } catch (final IOException ioe) {
               ioe.printStackTrace();
        } finally {
            if (modelIn != null) {
                try {
                    modelIn.close();
                } catch (final IOException e) {}
            }
        }
        String sentences[]=(sentenceDetector.sentDetect("I am a student. I am learning programming. I like java language."));
        for(int i=0; i<sentences.length;i++) {
            System.out.println(sentences[i]);
        }
    }
}

我在App.java文件中收到以下錯誤消息。

  • SentenceDetector無法解析為類型
  • InputStream無法解析為類型
  • SentenceModel無法解析為類型
  • SentenceDetectorME無法解析為類型
  • IOException無法解析為一種類型

為什么會出現這些錯誤? 我嘗試過Project-> Clean,但無法擺脫這些錯誤。 我該怎么做才能解決此問題?

<dependencies>部分的POM中添加:

<dependency>
  <groupId>org.apache.opennlp</groupId>
  <artifactId>opennlp-tools</artifactId>
  <version>1.6.0</version>
</dependency>

然后,您必須先在Java文件中導入類,然后再添加public class App

import java.io.IOException;
import java.io.InputStream;

import opennlp.tools.sentdetect.SentenceDetector;
import opennlp.tools.sentdetect.SentenceDetectorME;
import opennlp.tools.sentdetect.SentenceModel;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM