Eclipse java build path下Order and Export页签的作用

在Eclipse web项目右键 -> Build path -> Configure Build Path -> Order and Export

先描述一下问题

问题一:

在eclipse maven项目中,可以看到src/main/java这个源包没有显示在第一行,左边目录结构的显示顺序跟Order and Export的显示顺序是一样的

由此可见,Order and Export的第一个作用是决定左边工程目录结构的显示顺序

问题二:

如果工程目录的显示顺序如上所示,此时将工程发布至tomcat并运行,发现控制台报各种ClassNotFoundException

来到tomcat发布目录下查看,一般是在 .metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps

发现WEB-INF\classes 目录下都是空文件夹,编译后的class文件都没有发布过来,tomcat自然找不到class,所以报错。

此时再将src/main/java目录显示在最上面并apply,重新发布,发现WEB-INF\classes目录下有了编译后的class文件,此时再启动tomtcat,一切正常

由此可见,Order and Export的第二个作用是决定web工程class文件、配置文件、jre/maven依赖的发布顺序

总结

Order and Export 包含两部分

Order:左边工程目录排序显示
Export:Tomcat发布顺序

至于为什么将src/main/java放到后面发布就会导致class文件发布不出去,现在还没弄清楚原因

posted @ 2019-04-10 10:49  风中的蜗牛  阅读(2013)  评论(0编辑  收藏  举报