我有Maven应用程序,具有3个不同的配置文件,如下所示
<profiles>
<profile>
<id>dev</id>
<properties>
<profileVersion>DEV</profileVersion>
<webXmlFolder>${id}</webXmlFolder>
</properties>
</profile>
<profile>
<id>test</id>
<properties>
<profileVersion>1.0.0-RC1</profileVersion>
<webXmlFolder>${id}</webXmlFolder>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<profileVersion>1.0.0-Final</profileVersion>
<webXmlFolder>${id}</webXmlFolder>
</properties>
</profile>
</profiles>
我有这样的Maven结构:
src/main/config/default/WEB-INF/WEB。xml
src/main/config/dev/WEB-INF/WEB。xml
src/main/config/test/WEB-INF/web.xml
src/main/config/prod/WEB-INF/web.xml
src/main/webapp/WEB-INF/
我的任务是设置指定的web。生成webapp/WEB-INF时将xml转换为webapp/WEB-INF,具体取决于指定的配置文件。如果未指定配置文件,则为web。xml正在从默认文件夹复制。
我有插件,但它不工作。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<id>copy-prod-resources</id>
<phase>process-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<overwrite>true</overwrite>
<outputDirectory>${project.build.outputDirectory}/classes/WEB-INF</outputDirectory>
<resources>
<resource>
<directory>src/main/config/${webXmlfolder}/WEB-INF</directory>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
有什么想法吗?我花了很多时间在这个问题上,现在我有点困惑。
好的,现在一切正常。这是我的最终代码,有效:
<properties>
<webXmlFolder>default</webXmlFolder>
<profileVersion>defaultVersion</profileVersion>
</properties>
<profiles>
<profile>
<id>dev</id>
<properties>
<profileVersion>DEV</profileVersion>
<webXmlFolder>dev</webXmlFolder>
</properties>
</profile>
<profile>
<id>test</id>
<properties>
<profileVersion>1.0.0-RC1</profileVersion>
<webXmlFolder>test</webXmlFolder>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<profileVersion>1.0.0-Final</profileVersion>
<webXmlFolder>prod</webXmlFolder>
</properties>
</profile>
</profiles>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<id>copy-web.xml</id>
<phase>package</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<overwrite>true</overwrite>
<outputDirectory>${basedir}/target/classes/WEB-INF</outputDirectory>
<resources>
<resource>
<directory>src/main/config/${webXmlFolder}/WEB-INF</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
在学习Java 8 streams和lambas时,我尝试用streams替换以下嵌套for循环: 循环迭代“ProvidedService”对象的列表,对于每个对象,循环遍历“Desk”对象的列表属性,并将“Id”字段提取到列表中。 我使用streams生成了以下代码: 这是正确/最佳的方法吗?或者有没有一种方法可以在没有第二个嵌套流的情况下实现这一点?
在OpenAPI/Swagger文件中声明“char”的正确方法是什么?我试过这些..但不起作用 我也很累,但运气不好
以下是mongodb中的集合 当我询问 MongoDB返回结果集中具有"拥有":"笔记本电脑"的文档。 当我询问 结果仅显示数据字段中第一个匹配“TV”的文档 我如何查询获得汤姆拥有电视的所有3个文档,不包括笔记本电脑文档。预期结果 注意:在本例中,我只提到了数据字段中的4个文档,其中原始集合有50多个文档。对不起,我的英语很差:)。
问题内容: 在学习Java 8流和lambas时,我尝试用流替换以下嵌套的for循环: 该循环迭代“ ProvidedService”对象的列表,并针对每个对象循环访问“ Desk”对象的list属性,并将“ Id”字段提取到列表中。 我想出了以下使用stream的代码: 这是正确/最佳的方式吗?还是有没有第二个嵌套流的方法来执行此操作? 问题答案: 我可能会这样写:
问题内容: 最近,sonatype启用了Maven Central以支持https(背景信息)。现在,我在pom.xml中添加了以下代码段,以在所有地方强制使用https: 问题: 这够了吗?还是在某个地方仍然包含http? 这是正确的做法吗?如我所读,我应该在settings.xml中执行此操作。但是,其他使用我的(开源)项目的人将不会使用安全连接。 更新资料 它看起来还不够,例如,仍然使用HT
最近,sonatype使maven central支持https(背景信息)。现在,我在pom.xml中添加了以下片段,以强制在任何地方使用https: null 它看起来是不够的,例如,仍然使用了程序集插件HTTP: