动态生成并编译java文件的包路径问题

动态生成并编译java文件的包路径问题

前言:

接触java动态代理不久,实战时发现容易出现loadClass时动态生成的代理类包路径错误(找不到生成的.class文件在哪)导致的ClassNotFound异常。以下为解决方案。

java项目中:

    java项目中,编译后的.class文件保存在

    项目名/bin目录下,filename应为

       System.getProperty("user.dir") +"/bin/+包名+类名"


javaweb项目中:

    javaweb项目,java文件编译后的.class文件位于

    项目名/WebRoot/WEB-INF/classes目录下,filename应为

    System.getProperty("user.dir") + "/WebRoot/WEB-INF/classes/+包名+类名"


  注:其中,System.getProperty("user.dir")为获取项目的绝对路径。

 

你可能感兴趣的:(java)