[Resolvido] Maven + Copiar Arquivos

3 respostas
F

Pessoa, é o seguinte.

Tenho aqui um projeto, que tem uma task personalisada para gerar o webstart.
Porém gostaria que esse arquivo fosse movido para o diretorio de publicação após gerado, alguem ai sabe me dizer como fazer isso?

[]'s

3 Respostas

D

Cara não sei como fazer isso no maven…dá para fazer uma gambi com o maven-antrun-plugin, pois consegue se fazer isso com script ant

se descobrir como faz poste a solução plx :lol:

F

PQP, gambiarra pra fazer isso viu
ahahuhuauha

Me baseei nesse cara aqui http://ionixx.wordpress.com/2008/03/10/running-specified-ant-tasks-within-maven2-outside-the-lifecycle/

criei um script ant no BASEDIR da aplicação,

<target name="publish">
        <!-- Publica no servidor remoto -->
        <delete>
            <fileset includes="**.*" dir="${publicacao.dir}"/>
        </delete>
        <delete dir="${publicacao.dir}/lib"/>
        <copy todir="${publicacao.dir}">
            <fileset includes="**.*" dir="${basedir}/target/jnlp"/>
        </copy>
        <copy todir="${publicacao.dir}/lib">
            <fileset includes="**.*" dir="${basedir}/target/jnlp/lib"/>
        </copy>
    </target>

Depois no pom.xml criei um profile

<profile>
            <id>ant-target</id>
            <build>
                <defaultGoal>antrun:run</defaultGoal>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-antrun-plugin</artifactId>

                        <configuration>
                            <tasks>
                                <property name="publicacao.dir" value="diretorio publicacao" />
                                <ant antfile="${basedir}/copy-task.xml" inheritRefs="true" inheritAll="true">
                                    <target name="${target}" />
                                </ant>
                            </tasks>
                        </configuration>

                        <goals>
                            <goal>run</goal>
                        </goals>
                    </plugin>
                </plugins>
            </build>
            <dependencies>
                <dependency>
                    <groupId>ant-contrib</groupId>
                    <artifactId>ant-contrib</artifactId>
                    <version>1.0b2</version>
                </dependency>
            </dependencies>
        </profile>

E por fim execute no CMD o comando

mvn -P ant-target -D target=publish

target é a task dentro do arquivo do ant. E assim foi
o arquivo ta publicado.

[]'s

R

Só pra constar, com o copy no próprio POM também funciona:

<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-antrun-plugin</artifactId>
	<version>1.4</version>
	<executions>
		<execution>
			<id>deployJBoss</id>
			<phase>package</phase>
			<configuration>
				<tasks>
					<copy file="target/arquivo.txt"
						todir="diretorio/de/destino" />
				</tasks>
			</configuration>
			<goals>
				<goal>run</goal>
			</goals>
		</execution>
	</executions>
</plugin>
Criado 6 de agosto de 2009
Ultima resposta 2 de set. de 2010
Respostas 3
Participantes 3