写了个程序结构如下
d:
----DAOmodel
------------dbc
            ---------DatabaseConnection.java
------------factory
            ---------DAOFactory.java
------------vo
            ---------TestVo.java
------------dao
            ---------impl
                     -------------TestVoDAOImpl.java
            ---------proxy
                     -------------TestVoDAOProxy.java
            ---------test
                     -------------TestDAOInsert.java
            ---------ITestVoDAO.java
主类为TestVoDAOInsert.java现在编译的时候出现主类引用的程序包不存在的错误,
我的编译命令是:D:\>javac D:\DAOmodel\dao\test\TestDAOInsert.java
先声明下,程序是没有问题的,因为在ECLIPSE中成功运行了,但是用javac就是编译失败,在网上看了许多关于编译Java包机制的文章还是没有成功。希望哪位大侠帮忙解决下。

解决方案 »

  1.   

    在DAOmodel目录下,编译试试看。
      

  2.   

    重新发下目录结构,好像不清楚
    d:
    ----DAOmodel
    ××------------dbc
    ××××××××---------DatabaseConnection.java
    ××------------factory
    ××××××××---------DAOFactory.java
    ××------------vo
    ××××××××---------TestVo.java
    ××------------dao
    ××××××××---------impl
    ×××××××××××× -------TestVoDAOImpl.java
    ××××××××---------proxy
    ×××××××××××× -------TestVoDAOProxy.java
    ××××××××---------test
    ×××××××××××× -------TestDAOInsert.java
    ××××××××---------ITestVoDAO.java
      

  3.   

    具体讲例如你的TestDAOInsert的package是
    package dao.test;那么你确保在dao的上一层目录,也就是DAOmodel。 
    然后运行。javac dao/test/TestDAOInsert.java注意上面的是相对路劲,但绝对路径也行。
    重要:也许你的编译错误不是package的问题。
    比如你的代码用了其他的类库(jar),那么还得加入classpath参数的。
    那么你就要好好阅读javac的详解了。
    http://www.cnblogs.com/JeffChen/archive/2008/01/16/1041783.html
      

  4.   

    我的包是package DAOmodel.dao.test;
    但是在其上DAOmodel上的那个目录编译结果如下图
    关于你说的引入程序包的问题,要引入的只有mysql的驱动我早已经在环境变量里添加了,实在是不懂了,还请您帮帮忙。