To doprowadza mnie do szału i jestem zszokowany, że official documentation jest absolutnie użyteczny.Jak zrobić ulepszenie OpenJPA z Ant + IntelliJ IDEA
Oto co mam:
- IntelliJ IDEA 11
- OpenJPA 2.1.1
Od OpenJPA jest dodawany do listy używanych bibliotek miałem już ścieżkę klasy do OpenJPA który wygląda jak ten
<path id="library.openjpa.classpath">
<fileset dir="${basedir}/lib/openjpa">
<patternset refid="library.patterns"/>
</fileset>
</path>
Według oficjalnej dokumentacji dodałem następujący cel
<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>
To daje mi wyjątek
C: \ praca \ PRJ \ build.xml: 283: org.apache.openjpa.util.MetaDataException: MetaDataFactory nie może być skonfigurowany (conf. newMetaDataFactoryInstance() zwrócił wartość null). Może to oznaczać, że nie znaleziono żadnych właściwości konfiguracyjnych: . Upewnij się, że masz plik META-INF/persistence.xml , że jest on dostępny w ścieżce klasy, lub że plik właściwości, którego używasz do konfiguracji, jest dostępny . Jeśli używasz Ant, zobacz atrybuty zagnieżdżonego elementu zadania. Może to również wystąpić, jeśli twoje słoiki dystrybucji OpenJPA są uszkodzone lub , jeśli twoje zasady bezpieczeństwa są nadmiernie restrykcyjne.
testowałem z Process Monitor i widać, że otwiera i czytapersistence.xml
.
Mam jedną osobę, która ma problemy i otrzymałem odpowiedź, że znalezienie persistence.xml
nie jest źródłem problemu.
Pytania są następujące:
- Co mogę zrobić, aby to działało?
- Czy mogę to zrobić, pomijając potrzebę dla
persistence.xml
i po prostu określając wzorzec dla plików .class, które chcę poprawić? - To więcej pytanie na Anta. Jak mogę uczynić wzmacniacz OpenJPA, aby szukał
persistence.xml
w katalogu innym niż gdzie znajduje sięopenjpa-2.1.1.jar
?
Czy zweryfikowałeś, że katalog META-INF znajduje się w ścieżce klas? – Rick
Nie wiem, jak określić dodatkowy katalog ścieżek klas w skrypcie Ant. Ale dla pewności skopiowałem 'persistence.xml' do katalogu, w którym znajduje się jar OpenJPA. – expert