2016-04-20 110 views
0

我正在使用eclipse STS m2e將我們的ant構建轉換爲maven。現在我有一個問題:使用Maven從WAR中排除資源文件夾

我有src/main/resources下一個映射文件夾象下面這樣:

enter image description here

和映射文件夾中有一些.xml文件。

現在我想映射文件夾下的所有.xml文件複製到文件夾WEB-INF/classes在最後的戰爭,併爲我這樣做:

<resources> 
... 
     <resource> 
      <directory>${basedir}\src\main\resources</directory> 
     </resource> 
     <resource> 
      <directory>${basedir}\src\main\resources\mapping</directory> 
     </resource> 
... 
</resources> 

通過這樣做,它也創建在一個文件夾映射WAR根據WEB-INF/classes。如何排除此映射文件夾,因爲所有內容都已直接添加到WEB-INF/classes路徑下。

請幫忙。

+1

您使用的是mybatis,是那些與mybatis相關的映射文件夾?如果您不想在戰爭中包含映射文件夾,則不應將其放置在資源文件夾中。然後它會在創建戰爭文件時自動忽略。對於指定不同的資源目錄,請參閱http://maven.apache.org/plugins/maven-resources-plugin/examples/resource-directory.html – Lucky

+0

嗨,幸運,感謝您的評論。是的,我們將mybatis文件放在映射文件夾中。但我不想從資源中刪除映射文件夾。而是想排除在POM中使用一些配置。請指教。 – Surodip

+0

您需要將這些mapper xml文件放在'src/main/java'包內。例如。 'com.sample.mappers',然後你需要在像''property name =「mapperLocations」value =「classpath *:com/sample/mappers/*。xml」這樣的'sqlSessionFactory' bean中提供映射器文件的位置。 >'。 – Lucky

回答

1
 <resource> 
      <directory>${basedir}/src/main/resources</directory> 
      <excludes><exclude>mapping/</exclude></excludes> 
     </resource> 
     <resource> 
      <directory>${basedir}/src/main/resources/mapping</directory> 
     </resource> 
+0

謝謝。有效。我嘗試過這樣的事情,但那是不正確的。這是我需要的。 – Surodip

+0

@Surodip不錯。我也將Ant遷移到Maven並應用這樣的技巧。 – michaldo

相關問題