2012-05-07 2 views
0

を使用してこのファイルをコンパイルするにはどうすれTest.Javaのコードと呼ばれる以下のファイルはここ適切にjavacの

package example25; 

import java.io.FileInputStream; 
import java.io.FileNotFoundException; 
import java.io.FileOutputStream; 
import java.util.Iterator; 
import org.jibx.runtime.BindingDirectory; 
import org.jibx.runtime.IBindingFactory; 
import org.jibx.runtime.IMarshallingContext; 
import org.jibx.runtime.IUnmarshallingContext; 
import org.jibx.runtime.JiBXException; 

public class Test 
{ 
public static void main(String[] args) 
{ 

    try 
    { 

     // unmarshal customer information from file 
     IBindingFactory bfact = BindingDirectory.getFactory(Order.class); 
     IUnmarshallingContext uctx = bfact.createUnmarshallingContext(); 
     FileInputStream in = new FileInputStream("D:\\Java Libraries\\jibx\\dwcode2\\starter.xml"); 
     Order order = (Order)uctx.unmarshalDocument(in, null); 

     // compute the total amount of the order 
     float total = 0.0f; 
     for (Iterator<Item> iter = order.getItemList().iterator(); iter.hasNext();) 
     { 
      Item item = iter.next(); 
      total += item.getPrice() * item.getQuantity(); 
     } 
     order.setTotal(new Float(total)); 

     // marshal object back out to file (with nice indentation, as UTF-8) 
     IMarshallingContext mctx = bfact.createMarshallingContext(); 
     mctx.setIndent(2); 
     FileOutputStream out = new FileOutputStream("c:\\out.xml"); 
     mctx.setOutput(out, null); 
     mctx.marshalDocument(order); 
     System.out.println("Processed order with " + order.getItemList().size() + " items and total value " + total); 

    } 
    catch (FileNotFoundException e) 
    { 
     e.printStackTrace(); 
     System.exit(1); 
    } catch (JiBXException e) 
    { 
     e.printStackTrace(); 
     System.exit(1); 
    } 
}//end main 

}//end class 

である私は

を取得し、このファイルと出力をコンパイルしようとしている方法です持っています
C:\jibx\tutorial>javac example25\Test.java 
example25\Test.java:8: error: package org.jibx.runtime does not exist 
import org.jibx.runtime.BindingDirectory; 
       ^
example25\Test.java:9: error: package org.jibx.runtime does not exist 
import org.jibx.runtime.IBindingFactory; 
       ^
example25\Test.java:10: error: package org.jibx.runtime does not exist 
import org.jibx.runtime.IMarshallingContext; 
       ^
example25\Test.java:11: error: package org.jibx.runtime does not exist 
import org.jibx.runtime.IUnmarshallingContext; 
       ^
example25\Test.java:12: error: package org.jibx.runtime does not exist 
import org.jibx.runtime.JiBXException; 
       ^
example25\Test.java:25: error: cannot find symbol 
IBindingFactory bfact = BindingDirectory.getFactory(Order.class); 
     ^
symbol: class IBindingFactory 
location: class Test 
example25\Test.java:25: error: cannot find symbol 
IBindingFactory bfact = BindingDirectory.getFactory(Order.class); 
           ^
symbol: variable BindingDirectory 
location: class Test 
example25\Test.java:26: error: cannot find symbol 
     IUnmarshallingContext uctx = bfact.createUnmarshallingContext(); 
     ^
symbol: class IUnmarshallingContext 
location: class Test 
example25\Test.java:40: error: cannot find symbol 
     IMarshallingContext mctx = bfact.createMarshallingContext(); 
     ^
symbol: class IMarshallingContext 
location: class Test 
example25\Test.java:52: error: cannot find symbol 
    } catch (JiBXException e) 
      ^
symbol: class JiBXException 
location: class Test 
10 errors 

Testによって使用されるすべてのクラスファイルは、その隣に存在し、適切にコンパイルされています。 テストは私に問題を与えている最後のファイルです。さらに、テストで使用されるクラスの中には、コマンドを実行しているC:\ jibx \ tutorial>とは対照的に、C:\ jibx \ lib>にあるものがあります。以前に生成されたクラスファイルを変更せずにこの問題をどのように解決するかについてのご意見をいただければ幸いです。

答えて

0

ディレクトリC:\ jibx \ libをクラスパスに追加します。その後、

SET CLASSPATH=%CLASSPATH%;C:\jibx\lib;. 

とはサティヤが言ったように適切にクラスパスを設定し、いくつかのインポートエラー、そして、あなたの現在のクラスは、いくつかのディレクトリにあるとして、あなたは、javacの の-d属性でそれをコンパイルする必要がありjavacの

0

を行います以下に示すように、

javac -d。 YourfileName.java

+0

これは、基本的にはデフォルトです。 – EJP