webForumDet fria alternativet

Cannot resolve symbol

3 svar · 266 visningar · startad av AG

AGMedlem sedan mars 20001 229 inlägg
#1

När jag skall köra en javac på koden nedan, får jag följande fel:


C:\Andreas\Tomcat\webapps\ROOT\WEB-INF\classes>javac ParseXML.java
ParseXML.java:33: cannot resolve symbol
symbol  : class ConnectionPool
location: class lair.finance.ParseXML
                ConnectionPool pool;
                ^
ParseXML.java:34: cannot resolve symbol
symbol  : class ConnectionPool
location: class lair.finance.ParseXML
                pool = new ConnectionPool();
                           ^
2 errors
package lair.finance;
import lair.finance.*;

import java.sql.*;
import javax.sql.*;

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.FactoryConfigurationError;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.TransformerException;

import org.apache.xpath.XPathAPI;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;

public class ParseXML
{
	public ParseXML()
		throws
			SAXException,
			IOException,
			ParserConfigurationException,
			FactoryConfigurationError,
			TransformerException
	{
  		ConnectionPool pool;
   		pool = new ConnectionPool(); 
   		Connection con = null;
		String url = "http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml";

		Calendar cal = Calendar.getInstance();
		cal.setTime(new Date());
		cal.add(Calendar.DATE, -2);
		String date = new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime());

		System.out.println("Date: " + date);

		Document mDocument = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(url);
		NodeList list =
			XPathAPI.selectNodeList(mDocument, "Envelope/Cube/Cube[@time='" + date + "']/Cube");

		for (int i = 0; i < list.getLength(); i++)
		{
			Node node = list.item(i);
			String currency = node.getAttributes().getNamedItem("currency").getNodeValue();
			String rate = node.getAttributes().getNamedItem("rate").getNodeValue();
			System.out.println("currency=" + currency + ", rate=" + Double.valueOf(rate));
		}
	}

	public static void main(String[] args) throws Exception
	{
		new ParseXML();
	}
}

Meningen är att jag skall spara ner resultaten sen.

Andreas

ViktorMedlem sedan aug. 20021 710 inlägg
#2

Klassen ConnectionPool finns inte med i din CLASSPATH. Lägg till den där och försök igen :)

/Viktor

AGMedlem sedan mars 20001 229 inlägg
#3

Filerna ligger i i web-inf.
ConnectionPool ligger i lair/finance, så man tycker det borde fungera.

Andreas

ViktorMedlem sedan aug. 20021 710 inlägg
#4

Du har skrivit att filen ligger i paketet lair.finance altså ska klassen ConnectionPool ligga i samma katalog där java filen ligger, C:\Andreas\Tomcat\webapps\ROOT\WEB-INF\classes, men det antar jag att den inte gör? Lägg filen där den ska ligga och kompilera sedan genom att skriva

C:\Andreas\Tomcat\webapps\ROOT\WEB-INF\classes>javac lair\finance\ParseXML.java

så ska det nog fungera :)

/Viktor

Genererad på 373 ms · cache AV · v20260730165559-full.f96bc7eb