4

この問題は、MyBatis 3.0.5 およびマッパーの読み込みの問題と、Maven の「リソースが見つかりません」メッセージを抑制する方法とは異なります。

org.org.wpse.db.config.db.config パッケージに xml ファイルがありますが、mvn compile を実行した後でも、target/classes/org/wpse/db/config/ ディレクトリにこれらの xml ファイルが見つからないのはなぜですか。

mybatisを使用すると、このエラーにより次の失敗が発生します。

Could not find resource

このエラーにつながる問題は、mvn compile を明示的に使用した場合でも、.xml ファイルがビルド ディレクトリにコピーされないことです。

4

1 に答える 1

8

Maven はデフォルトで、ディレクトリ内のリソース ファイル (*.xml、*.properties など) を探しますsrc/main/resources。ここにリソース ファイルを配置することをお勧めします。

ただし、リソース ファイルを別の場所 (たとえば ) に配置することを妨げるものは何もありません。src/main/java/org/wpse/db/config/リソース ファイルをクラス ファイルと一緒に特別なパッケージに配置することを好む人もいるため、pom.xml でもう少し構成が必要なだけです。

<build>
  <resources>
    <resource>
      <!-- This include everything else under src/main/java directory -->
      <directory>${basedir}/src/main/java</directory>
      <excludes>
        <exclude>**/*.java</exclude>
      </excludes>
    </resource>
  </resources>

  ... ...
</build>

関連する質問: maven をカスタマイズして、必要な .classpath を生成する方法を教えてください。

デフォルトの構成では、実行時にmvn eclipse:eclipse次の .classpath ファイルが生成されます。

<classpath>
  <classpathentry kind="src" path="src/main/java" including="**/*.java"/>
  ... ...
</classpath>
... ...

Eclipse にインポートすると、次のクラスパスが提供されます (不要なもの)。

ここに画像の説明を入力

上記の pom 構成を使用して、「mvn eclipse:eclipse」を実行すると、次の .classpath ファイルが生成されます。

<classpath>
  <classpathentry kind="src" path="src/main/java"/>
  ... ...
</classpath>
... ...

Eclipse にインポートすると、次のクラスパス (必要なもの) が提供されます。

ここに画像の説明を入力

于 2012-09-16T11:57:04.937 に答える