Maven 2 + configuração [Resolvido]

4 respostas
M

Buenas pessoal do forum!!

É o seguinte eu tenho um projeto que usa o maven, compila tudo certinho, só que eu eu tenho alguns xmls que possuem um certa configuração.

Gostaria de saber se é possível colocar nessas configurações algo como ${minhaPropriedade} e fazer que quando o maven estivesse compilando alterasse essa propriedade para o valor real. Nessas propriedades eu tenho configuração para o ambiente, por exemplo, local onde irão ser salvos os logs, etc… Só que quando eu troco de ambiente, por exemplo, gero uma versão para o ambiente de homologação, quando eu for gerar uma versão para o ambiente de produção, tenho que alterar essas arquivos todos na mão.

Existe alguma coisa para que essa tarefa seja mais automatizada com o maven???

Abraço e Feliz Ano Novo!!!

4 Respostas

R

http://maven.apache.org/guides/introduction/introduction-to-profiles.html

A

Pessoal, aproveitando o tópico quando vou mandar um mvn compiler:compile é gerado a seguinte mensagem:

Path to dependency:
1) projetoteste.com.br:ProjetoTeste:war:0.0.1
2) hibernate:hibernate-annotations:jar:3.1beta4
3) javax.persistence:ejb:jar:3.0-public_review

1 required artifact is missing.

for artifact:
projetoteste.com.br:ProjetoTeste:war:0.0.1

from the specified remote repositories:
uol (http://mirrors.uol.com.br/pub/maven2)
[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: < 1 second
[INFO] Finished at: Thu Jan 01 20:06:26 GMT-03:00 2009
[INFO] Final Memory: 2M/4M
[INFO] ------------------------------------------------------------------------

Acredito que ele não esteja encontrando as libs nos repositorios. Alguém poderia dar uma dica de como resolver isto?

Grato!

M

Cara eu tava tentando usar o plugin de properties… http://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html fiz exatamente o exemplo mas não consegui fazer com o que maven alterasse o valor da variável

no meu pom.xml…

<project xmlns="http://maven.apache.org/POM/4.0.0"

	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

	<modelVersion>4.0.0</modelVersion>

	<groupId>meuGrupo</groupId>

	<artifactId>teste</artifactId>

	<packaging>war</packaging>

	<version>1.0-SNAPSHOT</version>

	 <name>My Resources Plugin Practice Project</name>


	<description>Teste de descrição do projeto</description>

	<dependencies>

		<dependency>

			<groupId>junit</groupId>

			<artifactId>junit</artifactId>

			<version>3.8.1</version>

			<scope>test</scope>

		</dependency>

		<dependency>

			<groupId>myfaces</groupId>

			<artifactId>tomahawk</artifactId>

			<version>1.1.1</version>

		</dependency>

		<dependency>

			<groupId>javax.servlet</groupId>

			<artifactId>jsp-api</artifactId>

			<version>2.0</version>

			<scope>provided</scope>

		</dependency>

		<dependency>

			<groupId>javax.servlet</groupId>

			<artifactId>servlet-api</artifactId>

			<version>2.4</version>

			<scope>provided</scope>

		</dependency>

	</dependencies>

	<build>
		<resources>
		      	<directory>src/main/resources</directory>
			<filtering>true</filtering>
    		</resources>

		<sourceDirectory>src</sourceDirectory>

		<testSourceDirectory>test</testSourceDirectory>

		<plugins>

			<plugin>

				<groupId>org.apache.maven.plugins</groupId>

				<artifactId>maven-war-plugin</artifactId>

				<version>2.0</version>

				<configuration>

					<warSourceDirectory>

						${basedir}/WebContent

					</warSourceDirectory>

					<archiveClasses>true</archiveClasses>

				</configuration>

			</plugin>

			<plugin>

				<groupId>org.apache.maven.plugins</groupId>

				<artifactId>maven-compiler-plugin</artifactId>

				<configuration>

					<source>1.5</source>

					<target>1.5</target>

				</configuration>

			</plugin>

			<plugin>

				<groupId>org.apache.maven.plugins</groupId>

				<artifactId>maven-site-plugin</artifactId>

				<configuration>

					<siteDirectory>${basedir}/site</siteDirectory>

					<locales>en,pt</locales>

				</configuration>

			</plugin>

		</plugins>

	</build>

	<reporting>

		<plugins>

			<plugin>

				<artifactId>maven-javadoc-plugin</artifactId>

			</plugin>

			<plugin>

				<groupId>org.codehaus.mojo</groupId>

				<artifactId>jxr-maven-plugin</artifactId>

			</plugin>

			<plugin>

				<artifactId>maven-surefire-plugin</artifactId>

			</plugin>

			<plugin>

				<artifactId>maven-clover-plugin</artifactId>

			</plugin>

			<plugin>

				<groupId>org.apache.maven.plugins</groupId>

				<artifactId>maven-pmd-plugin</artifactId>

				<configuration>

					<targetjdk>1.5</targetjdk>

					<rulesets>

						<ruleset>/rulesets/basic.xml</ruleset>

						<ruleset>/rulesets/controversial.xml</ruleset>

					</rulesets>

					<format>xml</format>

					<linkXref>true</linkXref>

					<sourceEncoding>utf-8</sourceEncoding>

					<minimumTokens>100</minimumTokens>

				</configuration>

			</plugin>

			<plugin>

				<groupId>org.codehaus.mojo</groupId>

				<artifactId>changes-maven-plugin</artifactId>

			</plugin>

			<plugin>

				<groupId>org.codehaus.mojo</groupId>

				<artifactId>changelog-maven-plugin</artifactId>

			</plugin>

		</plugins>

	</reporting>

</project>

e o meu hello.txt em src/main/resources possui Hello ${name}

só que mesmo fazendo mvn resources:resources ele não está alterabdo o valor da propriedade name

M

Consegui… o problema era que eu não estava colocando corretamente a tag para ativar o scan do maven no diretório. Engraçado o maven não ter apontado erro no xml mas enfim…

Se alguém tiver o mesmo problema o correto é

<resources>
	    <resource>
	      <directory>src/main/resources</directory>
	      <filtering>true</filtering>
	    </resource>
	  </resources>

Depois de ativado esse scan, o ideal é usar o profile como indicado pelo amigo Rubem.

vlw

Criado 31 de dezembro de 2008
Ultima resposta 3 de jan. de 2009
Respostas 4
Participantes 3