错误:java.lang.ClassNotFoundException:org.jdom2.Document ----终端上的xml解析

时间:2018-09-28 00:22:46

标签: java xml parsing classnotfoundexception

我正在使用Java,并且正在尝试解析xml文档。该代码在eclipse中有效,但是当我尝试在终端上运行它时,出现此错误。 java.lang.ClassNotFoundException:org.jdom2.Document我正在使用org.jdom2.Document作为数据类型,这可能是问题所在。我不知道可以用什么代替它。

public class ReadXMLFile 
{

  public static org.jdom2.Document Read() 
  {

      String fileName = "test_file.xml";
      org.jdom2.Document jdomDoc = new org.jdom2.Document();
      try 
      {

        DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
        Document doc = dBuilder.parse(new File(fileName));
        DOMBuilder domBuilder = new DOMBuilder();
        jdomDoc = domBuilder.build(doc);
    } 
    catch (Exception e) 
    {

    }

    return jdomDoc;
  }
}

我的代码示例。

2 个答案:

答案 0 :(得分:0)

  

ClassNotFoundException是运行时异常,当应用程序尝试使用Class.forName()或loadClass()或findSystemClass()方法在运行时加载类,并且在类路径中找不到具有指定名称的类时,抛出此异常

您是否包括在类路径中?您正在使用哪个命令来构建您的jar文件?

您可以构建包括以下依赖项的Java应用程序:

<build>
    <plugins>
      <!-- any other plugins -->
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
          </descriptorRefs>
        </configuration>
      </plugin>
    </plugins>
  </build>

有关如何包含依赖项的其他建议,您可以找到here

最好的问候,

答案 1 :(得分:0)

您的代码失败,因为执行代码时JDOM2不在类路径上。

有人建议使用Maven作为解决此问题的方法。您实际上不需要Maven。 Maven很有用,因为它使管理依赖关系变得更加容易,但这是需要学习的另一层技术。您真正需要做的就是确保JDOM2库位于类路径上。

使用javac进行编译时,您将JDOM2放在类路径上,再次使用

时,还需要将其放在类路径上
java -cp XXX/jdom-2.0.6.jar myclass