maven设置自定义属性
我对Maven完全陌生。我正在尝试建立一个新的项目,这样就不需要20页长的word文档和截图来建立它。我在Mac和PC上有开发人员,所以我需要能够自定义catalina.home目录,因为我不能只强加一个标准位置。我想我应该在~/.m2/settings.xml文件中使用以下内容:maven设置自定义属性,maven,build,pom.xml,Maven,Build,Pom.xml,我对Maven完全陌生。我正在尝试建立一个新的项目,这样就不需要20页长的word文档和截图来建立它。我在Mac和PC上有开发人员,所以我需要能够自定义catalina.home目录,因为我不能只强加一个标准位置。我想我应该在~/.m2/settings.xml文件中使用以下内容: <profile> <id>my-site-dev</id> <activation> <activeByDefault>true</
<profile>
<id>my-site-dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<catalina.home>/path/to/apache-tomcat</catalina.home>
</properties>
</profile>
我的网站开发
似乎表明我试图完成的是一个坏主意。为了在pom.xml中只引用${catalina.home},实现这一点的官方方法是什么
现在我已经用一个id声明了我的概要文件,如果我的pom.xml不能加载概要文件“my site dev”,我的构建会失败吗?如果可能的话,我想把它从settings.xml中去掉。我不想无缘无故地干扰他们的全局设置,我希望尽可能多地保持其独立性。您可以在pom中使用基于操作系统激活的配置文件
<profiles>
<profile>
<activation>
<os>
...
...
你在做什么,需要卡塔琳娜回家
如果您正在使用maven部署到应用服务器,那么您已经超出了“一致、可移植的构建”规则集,也超出了maven的主要用例/最佳实践
并不是说你不应该这样做——因为这很方便。只需确保将构建项目与部署项目分开。不要默认使用active
,因为它将隐藏所有其他配置文件:
以下是您应该使用的:
<profiles>
<profile>
<id>path-to-catalina.home-linux</id>
<activation>
<os>
<family>linux</family>
</os>
</activation>
<properties>
<catalina.home>...</catalina.home>
</properties>
</profile>
<profile>
<id>path-to-catalina.home-mac</id>
<activation>
<os>
<family>mac</family>
</os>
</activation>
<properties>
<catalina.home>...</catalina.home>
</properties>
</profile>
<profile>
<id>path-to-catalina.home-windows</id>
<activation>
<os>
<family>windows</family>
</os>
</activation>
<properties>
<catalina.home>...</catalina.home>
</properties>
</profile>
path-to-catalina.home-linux
linux
...
path-to-catalina.home-mac
雨衣
...
path-to-catalina.home-windows
窗户
...
如果我在一致可移植构建规则集之外,那么为什么会有默认的mvn部署目标?我希望开发人员能够键入mvn deploy,运行所有测试,编译和构建war,并在本地部署它,这样他们就可以运行UAT(如果有更好的方法,我也愿意这么做)。mvn deploy意味着“部署构建的工件(通常是.war文件)”到maven存储库,以便其他项目可以依赖它,而无需构建它。它与应用程序部署无关。还有,你看了吗?谢谢,现在我明白发生了什么,这差不多完美了!