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

 

这是由于java编译后的class文件没有指定正确引起的

 

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

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

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



补充:

maven的"约定优于配置"

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

  • /项目目录

    • /target/classes 编译之后的class文件

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

    • /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来说,采用"约定优于配置"的策略可以减少修改配置的工作量,也可以降低学习成本,更重要的是,给项目引入了统一的规范。




转载于:https://my.oschina.net/u/2416019/blog/632295

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值