1

Javaでコードを書きました。というパッケージを作成しましたxml-creator
パッケージには、、、、xml_creatorという 3 つのクラスがあります。XML_ControlXML_CreatorXML_implement

プロジェクトを netbeans ( NetBeans 7.0 ) で実行すると、正常に動作します。しかし、コンソールでコードをコンパイルしようとすると、次のようなさまざまなエラーが発生します

をコンパイルするXML_Creator.javaと、次のエラーが発生します。

XML_Creator.java:371: cannot find symbol
symbol  : variable XML_implement
location: class xml_creator.XML_Creator
                    typeAttr.setValue(XML_implement.table_col[i][2]);
                                      ^
XML_Creator.java:375: cannot find symbol
symbol  : variable XML_implement
location: class xml_creator.XML_Creator
                for(int j=0;j<XML_implement.kTab;j++)
                              ^


XML_Creatorどちらも同じパッケージに入っていますが、XML_implemenr互いに拡張していません。

申し訳ありませんが、サイトが大きすぎて会社のポリシーに違反しているため、このサイトにコードを表示できません。

エラーが表示される理由がわかりませんか?

サンプルコード
XML_Control.java

package xml_creator;
public class XML_Control 
{
    public static void main(String as[])
    {
        XML_Creator xml = new XML_Creator();    
    }
}

XML_Creator.java

package xml-creator;

public class XML_Creator
{
    XML_implement ixml = new XML_implement();
    public XML_Creator() 
    {
        System.out.println(""+ixml.a);
    }
}

XML_implement.java

package xml_creator;
public class XML_implement 
{
    public int a;
    public XML_implement()
    {
        a = 10;
    }
}

そのため、コンパイルするXML_Creator.javaと、コンソールでエラーが発生します。

4

1 に答える 1

4

.java ファイルを含むディレクトリ内でコンパイルし、ソース ファイルの 1 つだけをコンパイラに伝えているようです。これが問題です。ソース ファイルまたはクラス ファイルを検索するために、コンパイラはパッケージ名を使用し、パッケージが従来の方法で配置されることを期待しています。次のように、ソース ツリーのルートからコンパイルします

javac xml_creator/*.java

また、パッケージのディレクトリ階層のルートとなる出力ディレクトリを指定することもできます。

javac -d bin xml_creator/*.java

コマンドラインから定期的にビルドしている場合(使い捨てコードだけでなく)、 Antなどのビルド システムの使用を検討する必要があります。

于 2012-04-20T06:01:38.657 に答える