我有一个POM,它声明了我的项目常见的Web应用程序.我使用它作为所有Web应用程序的父级.
只有在包装出现战争时才能激活配置文件吗?我尝试了属性方法,但这不起作用(因为它不是系统/环境属性).
由于这无法构建,我可以在安装POM时简单地禁用该配置文件,但我希望它本身更智能.
沃尔特
shy*_*ynx 12
你可以简单地检查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>
Run Code Online (Sandbox Code Playgroud)
更精确的是,您还可以检查$ {basedir} /src/main/webapp/WEB-INF/web.xml是否存在.这应该明确地确定一个战争项目.
对于我自己,我在我的常用超级pom中使用此配置来为不同的项目类型配置maven-eclipse-plugin.这非常方便在我们组织中的同一项目类型上获得同质的eclipse配置,特别是当开发人员直接运行eclipse:eclipse on multi-module-projects时.
我知道这不是直接回答你的问题,但像这样的问题的通常解决方法是只使用专门化(与类一样).
因此,您拥有所有常见行为的MasterPom.
扩展MasterPom的MasterWarPom(它是它的父级),并在此处放置任何"打包是战争"的专业化.
同样你可以拥有MasterJarPom等......
这样就可以很好地区分差异.
| 归档时间: |
|
| 查看次数: |
3856 次 |
| 最近记录: |