解决maven 项目中的 java.lang.NoClassDefFoundError

 

这是因为java编译后的class文件没有指定正确引发的 java

 

项目名称上【右击】--->Properties--->Java Build Path--->Source--->【看看报maven

NoClassDeFoundError的类是哪个源目录,并选中】--->【看下面的Default output folder单元测试

--->【发现不是target/classes--->Edit学习



补充:测试

maven的"约定优于配置"

所谓的"约定优于配置",在maven中并非彻底不能够修改的,他们只是一些配置的默认值而已。可是使用者除非必要,并不须要去修改那些约定内容。maven默认的文件存放结构以下:ui

  • /项目目录 spa

    • /target/classes 编译以后的class文件orm

    • /src/main 工程源代码目录 xml

    • /src/main/resource 工程的资源目录资源

    • /src/test 单元测试目录

    • /src/main/java 工程java源代码目录

    • /src/test/java

    • pom.xml 用于maven的配置文件

    • /src 源代码目录

    • /target 输出目录,全部的输出物都存放在这个目录下

每个阶段的任务都知道怎么正确完成本身的工做,好比compile任务就知道从src/main/java下编译全部的java文件,并把它的输出class文件存放到target/classes中。

对maven来讲,采用"约定优于配置"的策略能够减小修改配置的工做量,也能够下降学习成本,更重要的是,给项目引入了统一的规范。

相关文章
相关标签/搜索