【问题标题】:Why do I have these warnings with Jena 2.11.0?为什么 Jena 2.11.0 会出现这些警告?
【发布时间】:2013-12-31 16:22:55
【问题描述】:

我正在使用 Eclipse 和 Java。我已经设置了 jena 库并使用这个库完成了我的第一个 RDF 语句,但是我收到了一个警告,我不知道它到底是什么意思。 这是代码:

import com.hp.hpl.jena.datatypes.xsd.XSDDatatype;
import com.hp.hpl.jena.rdf.model.Model;
import com.hp.hpl.jena.rdf.model.ModelFactory;
import com.hp.hpl.jena.rdf.model.Property;
import com.hp.hpl.jena.rdf.model.Resource;

public class Main {

    public static void main(String[] args) {
        Model m = ModelFactory.createDefaultModel();
        String NS = "http://www.example.org/rdf/";
        Resource r = m.createResource(NS + "r");
        Property p = m.createProperty(NS + "p");
        r.addProperty(p, "hello world", XSDDatatype.XSDstring);
        m.write(System.out, "Turtle");
    }

}

这是输出:

log4j:WARN No appenders could be found for logger (org.apache.jena.riot.stream.JenaIOEnvironment).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
<http://www.example.org/rdf/r>
        <http://www.example.org/rdf/p>  "hello world"^^<http://www.w3.org/2001/XMLSchema#string> .

所以代码确实可以编译和工作,但我不知道如何处理这个警告。 我怎样才能摆脱它?

【问题讨论】:

  • 那么如何在eclipse中加载log4j.properties文件呢?这就是耶拿的样子:dl.dropboxusercontent.com/u/27349592/jena_snapshot.png
  • 如果你把它作为资源复制到bin目录下应该没问题。
  • 我找到了需要的文件。它被称为“jena-log4j.properties”。我和它有什么关系?你能一步一步地给我解释一下吗?
  • 这不是耶拿特有的;这是 log4j 设置。将“log4j.properties”放入 src/ 中,这将按照 Jon 的建议进行。或添加 static { Log.setCmdLogging() ; } 添加到加载 Jena 命令行 log4j 设置的文件中。或者忽略警告。

标签: java eclipse log4j warnings jena


【解决方案1】:

Ariel 提供的答案有问题。其实我们在写代码Log.setLog4j("jena-log4j.properties");的时候会出现如下错误:

The method setLog4j(String) is undefined for the type Log

但你可以在这里找到更好的答案:

Configure Eclipse for Log4j

您只需将文件jena-log4j.properties 复制到放置主类的文件夹中。即具有主要功能的类。

然后你需要将文件重命名为log4j.properties

我在 Eclipse 中完成并为我工作。

【讨论】:

    【解决方案2】:

    我终于设法解决了这个问题。 感谢AndyS 的解决方案。

    复制应用程序文件夹内的“jena-log4j.properties”文件,并在main开头添加以下代码行:

    Log.setLog4j("jena-log4j.properties");
    

    【讨论】:

    • 导致此错误:The method setLog4j(String) is undefined for the type Log
    【解决方案3】:

    复制jena文件夹内的jena-log4j.properties文件并粘贴到资源文件夹(在eclipse的情况下如何引导添加资源文件夹是here)。然后将其重命名为log4j.properties

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-17
      • 2013-05-28
      • 2011-05-17
      相关资源
      最近更新 更多