maven-2 - Maven Profile - 根据打包激活 Profile

标签 maven-2 profiles

我有一个 POM,它声明了我的项目常见的 Web 应用程序内容。我将它用作所有 Web 应用程序的父级。

是否可以仅在包装为 war 时激活配置文件?我已经尝试过属性方法,但这不起作用(因为它不是系统/环境属性)。

由于构建失败,我可以在安装 POM 时简单地禁用该配置文件,但我希望它本身更智能。

沃尔特

最佳答案

您可以简单地检查 src/main/webapp 的存在。每个使用 Maven 标准目录布局的 Web 应用程序都应该包含这个文件夹。因此,您可以避免不必要的虚拟文件。

<profile>
    <id>custom-profile-eclipse-project-generation-webapp</id>
    <activation>
        <file>
            <exists>${basedir}/src/main/webapp</exists>
        </file>
    </activation>
    <build>
    </build>
</profile>

更准确地说,您还可以检查 ${basedir}/src/main/webapp/WEB-INF/web.xml 是否存在。这应该明确地确定一个 war 项目。

对于我自己,我在我的公共(public) super pom 中使用这个配置来为不同的项目类型配置 maven-eclipse-plugin。这对于在我们组织中的相同项目类型上获得同质 eclipse 配置非常方便,尤其是当开发人员直接在多模块项目上运行 eclipse:eclipse 时。

关于maven-2 - Maven Profile - 根据打包激活 Profile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3542721/

相关文章:

java - JBoss 上的热部署失败 - "Delete method not implemented"

maven - mvn部署问题

pdf - 使用 Maven 维护用户文档

java - 这个maven认证错误表示什么?

maven - 当文件存在时使用通配符激活配置文件

java - 不同依赖关系中的 Maven 配置文件

visual-studio - 以编程方式配置 Outlook 邮件设置?

java - 类路径和资源问题

php - 管理员连接两个用户

javascript - 如何声明配置文件变量并将其集成到JS文件中?如何排除/包含构建功能?