java - netbeans 和控制台的不同行为

标签 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 时,控制台报错。

最佳答案

听起来您正在包含.java 文件的目录 中进行编译,并且只告诉编译器有关其中一个源文件的信息。这就是问题所在——为了尝试查找源文件或类文件,编译器使用包名,并期望包以传统方式布局。从源代码树的根编译 - 我当然 希望 你正在使用 - 像这样:

javac xml_creator/*.java

您可能还想指定一个输出目录 - 这将再次成为包目录层次结构的根:

javac -d bin xml_creator/*.java

如果您定期从命令行构建(而不仅仅是一次性代码),您应该考虑使用构建系统,例如Ant .

关于java - netbeans 和控制台的不同行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10240964/

相关文章:

java - AWT 正忙着等待

java - 在充满绘制形状的 JPanel 上抓取并拖动滚动

java - 当出现内存不足错误时自动重启tomcat

c++ - 有没有办法让 C++ 控制台文本变大?

css - 我无法在 WebView 上下文中查询

c - 意想不到的 *, 意想不到的 (

java - 如何在SunPKCS11中获取 session 句柄

c# - 等待 Console.ReadLine()

svn - 如何在 Netbeans IDE 中显示完整的 SVN 日志

maven - NetBeans IDE为什么看不到生成的源?