netbeans和控制台的不同行为

时间:2012-04-20 05:51:40

标签: java console netbeans-7

我在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_CreatorXML_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时,控制台会出错。

1 个答案:

答案 0 :(得分:4)

听起来你正在编辑包含.java文件的目录中的,并且只告诉编译器其中一个源文件。这就是问题 - 尝试查找源文件或类文件时,编译器正在使用软件包名称,并希望以传统方式布置软件包。从源代码树的根目录编译 - 我当然希望你正在使用 - 就像这样:

javac xml_creator/*.java

您可能还想指定一个输出目录 - 它也是包的目录层次结构的根目录:

javac -d bin xml_creator/*.java

如果您正在从命令行构建 (而不仅仅是一次性代码),您应该考虑使用Ant等构建系统。