Maven 如何从命令行获取属性值,如果不是从环境获取,如果不是-默认值?
我想在maven pom文件中定义属性的默认值。但是,开发人员应该能够使用相同名称的环境变量来覆盖它,如果在mvn的命令行上指定了相同的属性,则应该反过来覆盖它Maven 如何从命令行获取属性值,如果不是从环境获取,如果不是-默认值?,maven,maven-2,Maven,Maven 2,我想在maven pom文件中定义属性的默认值。但是,开发人员应该能够使用相同名称的环境变量来覆盖它,如果在mvn的命令行上指定了相同的属性,则应该反过来覆盖它 我该怎么做呢?我认为最好是定义一个属性的默认值,如果在命令行上指定了相同的属性,则可以覆盖该属性 此配置已在maven 2.2.1下测试。 在pom中定义您的属性: <properties> <finalname>dropbox</finalname> </properties
我该怎么做呢?我认为最好是定义一个属性的默认值,如果在命令行上指定了相同的属性,则可以覆盖该属性 此配置已在maven 2.2.1下测试。
<properties>
<finalname>dropbox</finalname>
</properties>
有可能在某个地方集成环境变量吗?我认为在maven 2.2.1中尝试几次之后是不可能的。Maven通过${env.xxx}引用环境变量,例如xxx。您可以通过“导出xxx=yyy”来定义它。但是如果你把这样的变量放在块中,它只能通过命令行被覆盖。这就像一个符咒。。。我可以从配置元素重写配置文件中的属性。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>com.dengjintian.uploader.Main</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<finalName>${finalname}</finalName>
<appendAssemblyId>false</appendAssemblyId>
</configuration>
<!-- This will bind assembly:make-assembly to the package phase -->
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
mvn clean install -Dfinalname=dropboxtmp