展示一下运行环境,这个还是很重要的。
Apache Maven 3.0.1 (r1038046; 2010-11-23 18:58:32+0800)
Java version: 1.6.0_22 Java home: /usr/lib/jvm/java-6-sun-1.6.0.22/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux" version: "2.6.35.4-ska-bfs" arch: "i386" Family: "unix"
这里使用maven-processor-plugin生成静态的Metamodel,本来直接设置maven-compiler-plugin插件的annotationProcessors配置就可以了。但是发现对于EclipseIDE的设置还是很麻烦的。
maven-processor-plugin生成文件,build-helper-maven-plugin用于将生成的文件加入classpath,正好在命令mvn eclipse:eclipse时,可以把生成后的文件也加入classpath,省了很多文本操作。
org.codehaus.mojobuild-helper-maven-plugin1.5add-sourcegenerate-sourcesadd-sourcesrc/main/generatedadd-test-sourcegenerate-sourcesadd-test-sourcesrc/test/generatedorg.bsc.mavenmaven-processor-plugin2.0.0processprocessgenerate-sourcessrc/main/generatedorg.hibernate.jpamodelgen.JPAMetaModelEntityProcessorprocess-testprocess-testgenerate-test-sourcessrc/test/generatedorg.hibernate.jpamodelgen.JPAMetaModelEntityProcessororg.hibernatehibernate-jpamodelgen1.1.1.Finalorg.hibernate.javax.persistencehibernate-jpa-2.0-api1.0.0.Final ...
直接把文本贴在pom.xml文件里面就可以了。应该注意的是maven-processor-plugin需要使用2.0.0版本的,貌似前一个版本不支持在plugin内的plugin.dependencies内的依赖。
这样做目的主要还是不想在项目的依赖关系里看见hibernate-jpamodelgen,而且在执行eclipse命令的时候可以将处理过的java代码加入eclipse项目的classpath。
PS:如果提示找不到依赖关系或插件,将以下内容也同时加入pom.xml。
jboss-public-repository-groupJBoss Public Repository Grouphttp://repository.jboss.org/nexus/content/groups/public/truefalsejboss-public-repository-groupJBoss Public Repository Grouphttp://repository.jboss.org/nexus/content/groups/public/truefalse