Tout d'abord, jetons un coup d'œil à la structure de répertoires standard du projet MAVENx :
Généralement, les fichiers de ressources que nous utilisons (divers fichiers xml , propriétés, fichiers XSD, etc.) sont placés sous src/main/resources Lors de l'utilisation de maven pour l'empaquetage, maven peut empaqueter ces fichiers de ressources dans le fichier jar ou war correspondant.
Parfois, comme le fichier mapper.xml de mybatis, nous avons l'habitude de l'assembler avec Mapper.java, tous deux sous src/main/java. maven pour empaqueter, vous devez modifier le fichier pom.xml pour empaqueter le fichier mapper.xml dans un fichier jar ou war. Sinon, ces fichiers ne seront pas empaquetés. (Maven pense que src/main/java n'est que le chemin du code source de Java). Il existe de nombreuses méthodes sur Internet. Je l'ai essayé et plusieurs méthodes sont disponibles.
Méthode 1, où **/* est écrit pour garantir que les fichiers de ressources dans les sous-répertoires à tous les niveaux sont empaquetés.
Code XML
<build> <finalname>test</finalname> <!-- 这样也可以把所有的xml文件,打包到相应位置。 <resources> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> <include>**/*.tld</include> </includes> <filtering>false</filtering><--这里是false,用true会报 数据库连接 错误--> <resource> <directory>src/main/java</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> <include>**/*.tld</include> </includes> <filtering>false</filtering> </resource> </build>
Méthode 2, utilisez le plug-in build-helper-maven-plugin
<build> ... ... <!-- 此plugin可以用 利用此plugin,把源代码中的xml文件, 打包到相应位置,这里主要是为了打包Mybatis的mapper.xml文件 --> <plugin> <groupid>org.codehaus.mojo</groupid> <artifactid>build-helper-maven-plugin</artifactid> <version>1.8</version> <executions> <execution> <id>add-resource</id> <phase>generate-resources</phase> <goals> <goal>add-resource</goal> </goals> <configuration> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> </resource> </resources> </configuration> </execution> </executions> </plugin> ... ... </build>
Méthode 3, en utilisant le plugin maven-resources-plugin
<build> ... ... <!-- 此plugin可以用 利用此plugin,把源代码中的xml文件,打包到相应位置, 这里主要是为了打包Mybatis的mapper.xml文件 --> <plugin> <artifactid>maven-resources-plugin</artifactid> <version>2.5</version> <executions> <execution> <id>copy-xmls</id> <phase>process-sources</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> <outputdirectory>${basedir}/target/classes</outputdirectory> <resources> <resource> <directory>${basedir}/src/main/java</directory> <includes> <include>**/*.xml</include> </includes> </resource> </resources> </configuration> </execution> </executions> </plugin> ... ... </build>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!