-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Phillip,

Try single quotes. Double quotes in bash allow special characters
(including spaces) to be interpreted by the shell. Single quotes
prevent the shell from being interpreted.

mvn package -DmavenArgLine='arg1 arg2'

Partial results:

[INFO] --- maven-antrun-plugin:1.7:run (echo) @ FooLine ---
[INFO] Executing tasks

echo:
     [echo] arg1 arg2

My pom.xml (sorry for the line wrapping):

<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd";>
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.mdeggers</groupId>
    <artifactId>FooLine</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.7</maven.compiler.source>
        <maven.compiler.target>1.7</maven.compiler.target>
    </properties>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <version>1.7</version>
                <executions>
                    <execution>
                        <id>echo</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <target name="echo">
                        <echo>${mavenArgLine}</echo>
                    </target>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

My maven version (on Fedora 20, 64 bit - sorry for the line wrapping):

Apache Maven 3.2.3 (33f8c3e1027c3ddde99d3cdebad2656a31e8fdf4;
2014-08-11T13:58:10-07:00)
Maven home: /opt/Apache/maven
Java version: 1.7.0_72, vendor: Oracle Corporation
Java home: /opt/Sun/jdk1.7.0_72/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.17.3-200.fc20.x86_64", arch: "amd64",
family: "unix"

. . . just my two cents
/mde/

On 11/25/2014 11:29 AM, Gribnau, Phillip wrote:
> Hi,
> 
> Thanks for the suggestion. I tried it but it doesn't work. For some
> reason on linux it tries to process the second argument as a
> lifecycle phase. I am using v3.2.1 btw.
> 
> mvn clean install "-DmavenArgLine=arg1 arg2" -e 2>&1
> 
> [ERROR] Unknown lifecycle phase "arg2". You must specify a valid
> lifecycle phase or a goal in the format <plugin-prefix>:<goal> or
> <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>.
> Available lifecycle phases are: validate, initialize,
> generate-sources, process-sources, generate-resources,
> process-resources, compile, process-classes, generate-test-sources,
> process-test-sources, generate-test-resources,
> process-test-resources, test-compile, process-test-classes, test,
> prepare-package, package, pre-integration-test, integration-test,
> post-integration-test, verify, install, deploy, pre-site, site,
> post-site, site-deploy, pre-clean, clean, post-clean. -> [Help 1]
> 
> -----Original Message----- From: Adrien Rivard
> [mailto:[email protected]] Sent: Tuesday, November 25, 2014
> 1:33 AM To: Maven Users List Subject: Re: Linux Command Line System
> Property Issue
> 
> Hi,
> 
> Maybe try "-DmavenArgLine=arg1 arg2" It works on plain java but
> can''t think of a way to test it quickly with maven.
> 
> 
> On Tue, Nov 25, 2014 at 2:21 AM, Gribnau, Phillip
> <[email protected]> wrote:
> 
>> Hi Everyone,
>> 
>> I am having trouble passing in a value via the command line on
>> bash in linux, but I have it working correctly on windows.
>> 
>> On the command line, if I pass in the following: 
>> -DmavenArgLine="arg1 arg2"
>> 
>> The error on linux is: Unknown lifecycle phase "arg2" Windows is
>> able to interpret this correctly and show "arg1 arg2" in the
>> output, verified by using the following plugin:
>> 
>> <plugin> <artifactId>maven-antrun-plugin</artifactId> 
>> <version>1.7</version> <executions> <execution> 
>> <phase>generate-sources</phase> <configuration> <tasks> 
>> <echo>${mavenArgLine}</echo> </tasks> </configuration> <goals> 
>> <goal>run</goal> </goals> </execution> </executions> </plugin>
>> 
>> 
>> My need is that the value of mavenArgLine has to be given from
>> the command line as the value can differ from different
>> environments. Is there a way to pass in the value of mavenArgLine
>> in linux with spaces?
>> 
>> 
>> Thanks, Phillip
>> 
>> 
> 
> 
> -- Adrien Rivard
> 
> ---------------------------------------------------------------------
>
> 
To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
> 

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBAgAGBQJUdN3XAAoJEEFGbsYNeTwtgbIH/2m3bzABZxPhgc7ZnfV4Buq2
X4owJ0MCkY84U7xVMZRmRx/9YUYb5lbKH9Evm/hxsM8vfWcPfYka4z51AcXbyRzy
Q90a8PxaZQJootaTViYm8Wm+mATADtYIF3DDarptrlSB0GOCx2rlkJ/E9qBqr0Mv
iLlNyHaQIILnafavqx7ahL1yTZldHaxhqKFMU3xrVW0CLch9W0CTkYpm1GspvztZ
ffTlnOE86OI6TYS0/oxZWTs6RT7HdTYDSMaARpTkPNIjk62dewWPRhSiQp1ddeUD
95NdJDesX/vZjko6/BMczgDrSXmOOprqskg2OC2oRRD3EkY/OjWVFghJt/oqB0s=
=cvwo
-----END PGP SIGNATURE-----

---
This email is free from viruses and malware because avast! Antivirus protection 
is active.
http://www.avast.com


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to