I edited to mention I'm using Shiro Security, that also needs some database parameters. I made it need just 1 database parameters location doing these stay in context.xml and referencing it in the others.
1) Ant read context.xml
Context.xml having
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<!-- Other stuff... -->
<!-- Shiro's -->
<Resource name="jdbc/postgres" auth="Container"
type="javax.sql.DataSource" driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://url-to-db/database"
username="user" password="pass" />
</Context>
did using in Ant build.xml
<xmlproperty file="/path/to/context.xml" keepRoot="false" semanticAttributes="true" includeSemanticAttribute="true" />
and then accessing it using
<target name="init-flyway">
<property name="flyway.url" value="${Resource.url}" />
<property name="flyway.user" value="${Resource.username}" />
<property name="flyway.password" value="${Resource.password}" />
<!-- stuff stuff stuff -->
</target>
2) persistence.xml read context.xml
It is possible to use context's datastore using this
<non-jta-data-source>java:/comp/env/jdbc/postgres</non-jta-data-source>
So, I killed 3 database parameters to just 1.
Thanks for the help!