Java Maven在Mac OS X上不使用配置文件属性

Java Maven在Mac OS X上不使用配置文件属性,java,macos,maven,Java,Macos,Maven,假设我有个人资料 <profile> <id>ak</id> <properties> <db.host>localhost</db.host> <db.name>ak_cit</db.name> <db.user>user</db.user>

假设我有个人资料

    <profile>
        <id>ak</id>
        <properties>
            <db.host>localhost</db.host>
            <db.name>ak_cit</db.name>
            <db.user>user</db.user>
            <db.password>pass</db.password>
        </properties>
    </profile>

ak
本地服务器
阿克西特
使用者
通过
在pom.xml的根目录中有一些默认值

<db.host>NOT_DEFINED</db.host>
<db.name>NOT_DEFINED</db.name>
<db.host.reporting.db>NOT_DEFINED</db.host.reporting.db>
<db.name.reporting.db>NOT_DEFINED</db.name.reporting.db>
未定义
未定义
未定义
未定义
启动我的应用程序时遇到的问题是,我得到了一个异常,因为未定义的数据库不存在。同样的命令在ubuntu或windows上完全可以正常工作。在询问了我的同事之后,我发现他们中的一些人在OSX上遇到了同样的问题

目前对我来说唯一可行的解决方案是通过命令行传递变量:
-Ddb.host=localhost-Ddb.user=user-Ddb.password=pass-Ddb.name=ak_cit
。这个解决方案的问题是有很多属性需要传递


有没有人知道如何解决这个问题,或者是什么导致了这样的问题

问题出在settings.xml中。正在覆盖我选择的配置文件。在检查了我的其他系统之后,我注意到settings.xml中没有定义概要文件

这方面的巨大帮助来自于插件echoproperties

<plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-antrun-plugin</artifactId>
        <version>1.7</version>
        <executions>
            <execution>
                <phase>validate</phase>
                <goals>
                    <goal>run</goal>
                </goals>
                <configuration>
                    <tasks>
                        <echoproperties />
                    </tasks>
                </configuration>
            </execution>
        </executions>
    </plugin>
</plugins>

org.apache.maven.plugins
maven antrun插件
1.7
验证
跑

您是否在OS X和其他平台上使用相同版本的Maven?Maven 2.x和Maven 3.x应用配置文件的方式可能会有细微的差异。我刚刚在linux上检查过,它是Maven 3.0.4,而在mac上是3.1.1。已尝试降级,但仍存在相同问题。您在哪里定义了配置文件?pom文件?settings.xml?配置文件在pom文件中定义