运行exec-maven-plugin我收到此错误:
psql: FATAL: database <user> does not exist
显然我没有用username命名的数据库,我也不想创建一个。一些为什么maven插件没有读我的-d etsydb
在cmd中我执行psql -d etsydb -p 5433 -U postgres
它会看到db。
我让它与蚂蚁合作:
<exec executable="psql">
<arg value="-p"/>
<arg value="5433"/>
<arg value="-U"/>
<arg value="postgres"/>
<arg value="-d"/>
<arg value="etsydb"/>
<arg value="-f"/>
<arg value="src/main/sql/etsydbbackup.sql"/>
</exec>
然后我把它翻译成maven插件:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<phase>install</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>psql</executable>
<arg value="-p"/>
<arg value="5433"/>
<arg value="-U"/>
<arg value="postgres"/>
<arg value="-d"/>
<arg value="etsydb"/>
<arg value="-f"/>
<arg value="src/main/sql/etsydbbackup.sql"/>
</configuration>
</execution>
</executions>
</plugin>
我在这里做错了什么?
答案 0 :(得分:1)
首先在Maven中通常没有使用XML属性,这使我得到以下内容:
您必须使用以下内容:
<arguments>
<argument>-p</argument>
<argument>5433</argument>
<argument>-U</argument>
<argument>postgres</argument>
<argument>-d</argument>
<argument>etsysdb</argument>
<argument>-f</argument>
<argument>src/main/sql/etsysdbbackup.sql</argument>
</arguments>