exp*_*ert 6 ant intellij-idea openjpa
这让我发疯,我很惊讶官方文档绝对是用途.
这是我有的:
由于openjpa被添加到已使用的库列表中,我已经有了OpenJPA的类路径,如下所示
<path id="library.openjpa.classpath">
<fileset dir="${basedir}/lib/openjpa">
<patternset refid="library.patterns"/>
</fileset>
</path>
Run Code Online (Sandbox Code Playgroud)
根据官方文档,我添加了以下目标
<target name="enhance">
<copy includeemptydirs="false" todir="${basedir}/lib/openjpa">
<fileset dir="src" excludes="**/*.launch, **/*.java"/>
</copy>
<taskdef name="openjpac" classname="org.apache.openjpa.ant.PCEnhancerTask">
<classpath refid="library.openjpa.classpath"/>
</taskdef>
<openjpac>
<classpath refid="library.openjpa.classpath"/>
</openjpac>
</target>
Run Code Online (Sandbox Code Playgroud)
它给了我例外
C:\ work\prj\build.xml:283:org.apache.openjpa.util.MetaDataException:无法配置MetaDataFactory(conf.newMetaDataFactoryInstance()返回null).这可能意味着找不到配置属性.确保您具有META-INF/persistence.xml文件,它在类路径中可用,或者您用于配置的属性文件可用.如果您使用的是Ant,请参阅任务嵌套元素的或属性.如果您的OpenJPA分发包损坏,或者您的安全策略过于严格,也会发生这种情况.
我使用Process Monitor进行了测试,可以看到它打开并读取 persistence.xml.
有人提出我遇到问题的bug,他得到的答案是找不到persistence.xml问题的根源.
问题是:
persistence.xml并仅为我希望增强的.class文件指定模式来使其工作吗?persistence.xml在目录以外的目录中查找openjpa-2.1.1.jar?所以如果没有记录,我就无法工作propertiesFile.这是适合我的版本.同时指定persistence-unit via #会使NullReferenceException失败.
<target name="enhance">
<taskdef name="openjpac" classname="org.apache.openjpa.ant.PCEnhancerTask">
<classpath refid="library.openjpa.classpath"/>
</taskdef>
<openjpac>
<classpath refid="library.openjpa.classpath"/>
<classpath location="${reporting.output.dir}"/>
<config propertiesFile = "${basedir}/src/META-INF/persistence.xml"/>
</openjpac>
</target>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3735 次 |
| 最近记录: |