我在我的pom中有这个配置
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.2</version>
<configuration>
<excludes>
<exclude>**/logging/*</exclude>
<exclude>**/config/*</exclude>
</excludes>
</configuration>
</plugin>
我使用配置文件来处理从本地环境到生产环境的不同行为。 在使用本地配置文件执行mvn install时是否可能无法激活排除项? 我尝试在这样的本地环境中设置空白属性 但插件抱怨。
答案 0 :(得分:1)
这是一种解决方案,可能存在更好的解决方案。我认为最简单的方法是让您的DEV环境免受jar插件的任何配置的影响。然后将您的PROD配置放在专用配置文件中:
<profiles>
<profile>
<id>PROD</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.2</version>
<configuration>
<excludes>
<exclude>**/logging/*</exclude>
<exclude>**/config/*</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
当您需要构建生产jar时,请启动:
mvn clean install -PPROD
答案 1 :(得分:0)
日志记录和配置文件资源是否仅用于测试?如果是,请将它们放入${basedir}/src/test/resources
。他们将在您的测试的类路径上,但不会在最终的jar中结束,并且您不会需要特定的jar插件配置。
答案 2 :(得分:0)
我发现最好的解决方法是在DEV环境中执行时使用无效值进行过滤。
<profiles>
<profile>
<id>env-local</id>
<activation>
<property>
<name>env</name>
<value>local</value>
</property>
</activation>
<properties>
<jndi.iban0>cont0Data</jndi.iban0>
<config.file.path>classpath:config</config.file.path>
<logging.file.path>classpath:logging</logging.file.path>
<exclude.logging>none</exclude.logging>
<exclude.config>none</exclude.config>
</properties>
</profile>
</profiles>