首页  >  问答  >  正文

请问javac 编译,如何引用定义在其他文件夹的包?

我在编译BeerSelect.java提示如下错误:

E:\wsj\JavaWeb\BeerSelect>javac -d classes src\com\example\web\BeerSelect.java
src\com\example\web\BeerSelect.java:3: 错误: 程序包com.example.model不存在
import com.example.model.BeerExpert;
                        ^
src\com\example\web\BeerSelect.java:20: 错误: 找不到符号
        BeerExpert beerExpert = new BeerExpert();
        ^
  符号:   类 BeerExpert
  位置: 类 BeerSelect
src\com\example\web\BeerSelect.java:20: 错误: 找不到符号
        BeerExpert beerExpert = new BeerExpert();
                                    ^
  符号:   类 BeerExpert
  位置: 类 BeerSelect
3 个错误

E:\wsj\JavaWeb\BeerSelect>
E:\wsj\JavaWeb\BeerSelect>

我检查BeerSelect.java导入的路径:import com.example.model.BeerExpert;但编译不过,不清楚哪里不对,求教大家能不能帮我看看? 本人刚在学习servlet相关的。

---------------------------------------以下相关信息--------------------------------------

目录结构如下:

BeerExpert.java的代码

package com.example.model;

import java.util.ArrayList;
import java.util.List;

public class BeerExpert {
    public List getBrands(String color){
        List brands = new ArrayList();
       return (brands);
    }
}

BeerSelect.java的代码

package com.example.web;
import com.example.model.BeerExpert;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.List;

public class BeerSelect extends HttpServlet {
    public void doPost(HttpServletRequest request,
                       HttpServletResponse response)
               throws IOException, ServletException{
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("Beer Selection Advice<br>");
        String c = request.getParameter("color");
        out.println("<br>Got beer color " + c);
        BeerExpert beerExpert = new BeerExpert();
        List result = beerExpert.getBrands(c);
    }
}

系统环境变量:

高洛峰高洛峰2762 天前342

全部回复(1)我来回复

  • 黄舟

    黄舟2017-04-18 10:17:35

    1. 在命令行里面输java -version能正常显示吗?

    2. 最后一个环境变量不需要设置

    回复
    0
  • 取消回复