2016-10-03 46 views
0

最近私のプロジェクトではmvn installコマンドはpersistence.xmlファイルを認識しません。Mavenはpersistence.xmlを認識しません

私はhodorタグをpersistence.xmlに書き込みました。 IDEがエラーを返します。一方、私はmvn installコマンドでプロジェクトをコンパイルしようとすると、エラーはなく、ビルドの成功をもたらします。

<?xml version="1.0" encoding="UTF-8"?> 
<persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"> 
    <persistence-unit name="myPU" transaction-type="JTA"> 
     <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider> 
     <jta-data-source>java:/OracleDS</jta-data-source> 
     <hodor>hodorhodorhodor</hodor> 
     <class>com.mycompany.MyClass</class> 
    </persistence-unit> 
</persistence> 

persistence.xmlファイルのようにコンパイルするための設定やプラグインはありますか?

+0

プロジェクトがMavenに準拠する場合はEclipseの設定上の問題です。プロジェクトのアセンブリをチェックして、永続性が正しいディレクトリからロードされているかどうかを確認することもできます。それは問題を解決します... Mavenのプロジェクト構造とEclipseプロジェクトの構造が何らかの理由で整列していないのはいつものことです... Webプロジェクトですか? – ivoruJavaBoy

+0

JPA設定をテストするmavenプラグインを使用していますか?さもなければmavenは標準コンパイル段階でpersistence.xmlをチェックしません。これは単にアーティファクトに追加されたレゾルセファイルです。 – Sammyrulez

+0

@ivoruJavaBoyウェブプロジェクトです。 – yfpayalan

答えて

0

答えは見つかっていますが、網羅的ではありません。これはmojohaus maven xml pluginで完了しました。

まず、関連する.xsdファイルをxsi:schemaLocationタグからダウンロードしました。

<xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"> 

プロジェクトのリソースフォルダにpersistence_2_0.xsdを移動しました。では最後のpom.xmlに

インポートモジョのXMLプラグイン後

enter image description here

<?xml version="1.0" encoding="UTF-8"?> 
<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>xml-maven-plugin</artifactId> 
    <version>1.0-beta-3</version> 
    <executions> 
     <execution> 
     <goals> 
      <goal>validate</goal> 
     </goals> 
     </execution> 
    </executions> 
    <configuration> 
     <validationSets> 
     <validationSet> 
      <systemId>src/main/resources/persistence_2_0.xsd</systemId> 
      <dir>src/main/resources/META-INF</dir> 
     </validationSet> 
     </validationSets> 
    </configuration> 
</plugin> 

mvn xml:validateコマンドを実行し、その結果を与えられました。

[ERROR] Invalid content was found starting with element 'hodor'. One of '{"http://java.sun.com/xml/ns/persistence":non-jta-data-source, "http://java.sun.com/xml/ns/persistence":mapping-file, "http://java.sun.com/xml/ns/persistence":jar-file, "http://java.sun.com/xml/ns/persistence":class, "http://java.sun.com/xml/ns/persistence":exclude-unlisted-classes, "http://java.sun.com/xml/ns/persistence":shared-cache-mode, "http://java.sun.com/xml/ns/persistence":validation-mode, "http://java.sun.com/xml/ns/persistence":properties}' is expected. 
関連する問題