Java 如何在maven中构建特定文件夹?
我有一个文件夹myApp1,pom.xml位于myApp1中。这是myApp1的租用人Java 如何在maven中构建特定文件夹?,java,maven,Java,Maven,我有一个文件夹myApp1,pom.xml位于myApp1中。这是myApp1的租用人 myAppl1 |--src |--main |--java (Java Source Code) |--resources some xml files and doc files |--pom.xml 现在,如果我进行mvn打包,它会构建所有文件夹并生成jar文件,基
myAppl1
|--src
|--main
|--java
(Java Source Code)
|--resources
some xml files and doc files
|--pom.xml
现在,如果我进行mvn打包,它会构建所有文件夹并生成jar文件,基本上它会将所有文件放在jar文件的resources文件夹下
我想要的是只在java文件夹下构建文件,它对资源没有任何依赖性folderjava文件依赖性在POM文件中提到,POM文件是存储库中的JAR
我不确定如何在maven中构建特定文件夹。我尝试了这个mvn安装-pl src\main\java-am,但是说在reactor中找不到所选的项目
编辑这是我以前在pom.xml中所做的
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>${maven-jar-plugin.version}</version>
<configuration>
<verbose>true</verbose>
<excludes>
<exclude>resources/*</exclude>
<exclude>webapp/*</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</pluginManagement>
但是我得到了[ERROR]格式错误的POM C:\myProject\POM.xml:无法识别的标记:“pluginMana”
gement'位置:已看到开始标记…\r\n\r\n
... @55:21@C:\myProject\pom.xml,第55行,第21列->[Help 2]您必须使用maven jar插件,并将其配置为排除不希望包含在jar中的文件或目录。另外,在Maven网站上查看它。以下是maven jar插件的示例配置:
您必须使用maven jar插件并将其配置为排除您不希望包含在jar中的文件或目录。另外,在Maven网站上查看它。以下是maven jar插件的示例配置:
您必须将maven jar插件声明放在
资源复制是由处理的,因此其文档值得一看,以查找与资源相关的问题。这将是一个“不要这样做”的答案 Maven希望这些资源是必须最终出现在您的工件中的文件,这就是资源的用途。如果你有其他文件,它们真的应该放在其他地方 话虽如此,但可能会混淆所有期待常规行为的人,并告诉maven src/main/resources中的文件实际上不是资源 要做到这一点,请在POM构建部分中说明 src/main/resources **/*
资源复制由处理,因此其文档值得一看,以查找与资源相关的问题。对于不应复制到工件文件中的文件,可以使用projects src/main/config目录,该目录还满足maven命名约定
在我的特殊情况下,我使用这个目录来存储二进制源,比如.exe文件aso。它被程序集插件压缩,并作为zip和bin部署到我的存储库中,运行良好,看起来像是一个干净的工作流。对于不应复制到工件文件中的文件,可以使用projects src/main/config目录,这也完全符合maven命名约定
在我的特殊情况下,我使用这个目录来存储二进制源,比如.exe文件aso。它被汇编插件压缩,并以zip和bin的形式部署到我的存储库中,运行良好,看起来是一个干净的工作流。Jugual您能否澄清我编辑部分中的错误。提前感谢Plugins标签应该在build元素中,而不是pluginManagement。请参考答案中修改过的代码段。嘿,jugal,谢谢,但它仍然包括参考资料和webapp文件夹下的文件。我也尝试过这样做**/resources/*其中resources是文件夹名。您必须明确指定resources目录下的所有文件。例如,如果您的资源目录中有properties目录和logback.xml文件,并且您不想在这个目录中包含任何内容,那么您必须添加如下内容:properties properties/*logback.xmlJugal,如果我给出**/*.xml,那么它可以工作。但我认为不支持排除文件夹。请澄清我编辑部分的错误。提前感谢Plugins标签应该在build元素中,而不是pluginManagement。请参考答案中修改过的代码段。嘿,jugal,谢谢,但它仍然包括参考资料和webapp文件夹下的文件。我也尝试过这样做**/resources/*其中resources是文件夹名。您必须明确指定resources目录下的所有文件。例如,如果资源中有属性目录和logback.xml文件 如果您不想在这个目录中包含任何内容,那么您必须添加如下内容:properties properties/*logback.xmlJugal,如果我给出**/*.xml它可以工作的话。但不支持排除文件夹的iLink
<build>
...
<plugins>
...
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>${maven-jar-plugin.version}</version>
<configuration>
<verbose>true</verbose>
<excludes>
<exclude>properties</exclude>
<exclude>properties/*</exclude>
<exclude>spring</exclude>
<exclude>spring/*</exclude>
<exclude>logback.xml</exclude>
</excludes>
</configuration>
</plugin>
...
</plugins>
...
</build>