Maven设置将src/main/java下的xml编译到classpath

本文介绍了在Maven项目中,由于Hibernate Demo运行时找不到xml映射文件,作者通过分析Maven默认编译规则,发现需要将xml文件编译到classpath。通常,xml文件应放在resources目录下,但为了与实体类同路径,作者选择修改Maven配置,将src/main/java下的xml文件一并编译。在pom.xml文件中添加特定配置,指定包含java路径下所有xml文件作为资源,以便编译后能正确读取。

        这几天敲一个Hibernate的Demo,使用的是Hibernate.5.2.10.Final,发现了下面的一个错误,找不到Person.hbm.xml文件,原因是把Person.hbm.xml放到了实体类相同路径下,编译后找不到。

 

 

Exception in thread "main" org.hibernate.boot.MappingNotFoundException: Mapping (RESOURCE) not found : com/yasmine/hibernate/create/Person.hbm.xml : origin(com/yasmine/hibernate/create/Person.hbm.xml)
	at org.hibernate.boot.spi.XmlMappingBinderAccess.bind(XmlMappingBinderAccess.java:56)
	at org.hibernate.boot.MetadataSources.addResource(MetadataSources.java:274)
	at org.hibernate.boot.cfgxml.spi.MappingReference.apply(MappingReference.java:70)
	at org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:413)
	at org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:87)
	at org.hibernate.boot.MetadataSources.buildMetadata(MetadataSources.java:179)
	at com.yasmine.hibernate.create.ExportTable.main(ExportTable.java:24)
<think>好的,我现在需要解决用户在Eclipse中正确显示src/main/java目录的问题。用户提到这个目录本来存在,但是显示为missing,所以需要找到配置方法。 首先,我应该回顾一下用户提供的引用内容。引用[1]中提到,通过Build Path配置来编辑源文件夹,将路径设置src/main/java,并调整classpath文件中该目录的位置到前面。引用[2]和[3]讨论了创建Maven项目时目录结构的问题,建议使用Eclipse或IDEA,并可能需要手动配置。引用[4]则涉及如何在Eclipse中新建带有src/main/java的项目,步骤包括使用File > New > Other等。 接下来,我需要整理步骤。用户的问题是如何正确显示该目录,可能的解决步骤包括检查Build Path、编辑源文件夹路径、调整classpath顺序。根据引用[1],用户需要进入项目的Build Path设置,找到Source选项卡,编辑src/main/java的路径,并确保它在classpath文件中位于正确的位置,比如在src/main/resources之前。 可能的问题点:用户可能没有正确配置Maven项目,或者Eclipse的Maven插件未正确生成目录结构。这时候可能需要手动创建目录或更新项目配置。例如,如果目录缺失,可以手动创建src/main/java文件夹,然后右键项目选择Maven > Update Project来刷新。 还需要考虑是否需要调整构建路径中的顺序,因为顺序可能影响编译时的优先级。如果src/main/java在资源之后,可能会导致问题,所以需要调整到前面。 另外,引用[3]提到使用IDEA可能更方便,但用户可能还是希望使用Eclipse,所以需要提供Eclipse的解决方案。可能还需要检查项目是否为Maven项目,如果不是,可能需要转换为Maven项目,这样目录结构才会被正确识别。 总结步骤应该是: 1. 检查Build Path中的源文件夹设置,确保src/main/java被正确添加。 2. 如果缺失,手动编辑路径或创建目录。 3. 调整classpath文件中的顺序。 4. 更新Maven项目配置。 5. 如果问题依旧,检查项目是否为Maven项目并尝试更新依赖或清理项目。 需要确保每一步都清晰,用户能够按照步骤操作。同时,注意引用中的链接可能需要用户进一步参考,但用户现在可能无法访问外部链接,所以步骤需要自包含。</think>在Eclipse中正确显示$src/main/java$目录的配置方法如下: ### 步骤说明 1. **检查构建路径配置** - 右键项目 → **Build Path** → **Configure Build Path…** - 在**Source**标签页中,查看$src/main/java$是否存在。若显示为缺失(missing),选中该条目并点击**Edit…**,手动输入路径为$src/main/java$[^1]。 2. **调整源文件夹顺序** - 若$src/main/java$已存在但位置不正确(如位于$src/main/resources$之后),需修改项目根目录下的`.classpath`文件: ```xml <classpath> <classpathentry kind="src" path="src/main/java"/> <classpathentry kind="src" path="src/main/resources"/> <!-- 其他条目 --> </classpath> ``` - 确保$src/main/java$条目在$src/main/resources$之前[^1]。 3. **手动创建目录(若缺失)** - 若目录未生成,右键项目 → **New** → **Folder** → 输入路径$src/main/java$,然后通过**Maven** → **Update Project**刷新项目配置[^3]。 4. **验证Maven项目结构** - 确保项目已正确转换为Maven项目(右键项目 → **Configure** → **Convert to Maven Project**)[^2]。 ### 示例操作图示 ```plaintext 项目结构修复前: - src/main/java (missing) - src/main/resources 修复后: - src/main/java - src/main/resources ```
评论 18
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值