Cygwin mvn script modifies CLASSPATH environment variable
---------------------------------------------------------

                 Key: MNG-4956
                 URL: http://jira.codehaus.org/browse/MNG-4956
             Project: Maven 2 & 3
          Issue Type: Bug
          Components: Command Line
    Affects Versions: 3.0
         Environment: Cygwin on Windowx
            Reporter: Zemian Deng


When running in Cygwin, the apache-maven-3.0/bin/mvn script actually changed 
the user env CLASSPATH to an invalid Java classpath value, which is unexpected! 
To repeat this, try the following on Cygwin:

Create this simple pom.xml in an project:

{code:xml}
<?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/maven-v4_0_0.xsd";>
  <modelVersion>4.0.0</modelVersion>
  <groupId>deng</groupId>
  <artifactId>mvn-examples</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-antrun-plugin</artifactId>
        <version>1.6</version>
        <configuration>
          <target>
            <echo message="Maven env.CLASSPATH: ${env.CLASSPATH}" />
          </target>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>
{code:xml}

{code}
$ /apps/apache-maven-3.0/bin/mvn -v
Apache Maven 3.0 (r1004208; 2010-10-04 07:50:56-0400)
Java version: 1.6.0_19
Java home: C:\apps\jdk1.6.0_19\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows xp" version: "5.1" arch: "x86" Family: "windows"

$ export CLASSPATH="C:\\my-classes;C:\\my-lib\app.jar"

$ echo $CLASSPATH
C:\my-classes;C:\my-lib\app.jar

$ /apps/apache-maven-3.0/bin/mvn antrun:run
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building mvn-examples 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-antrun-plugin:1.6:run (default-cli) @ mvn-examples ---
[INFO] Executing tasks

main:
     [echo] Maven env.CLASSPATH: 
/cygdrive/c/my-classes:/cygdrive/c/my-lib/app.jar
[INFO] Executed tasks
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.843s
[INFO] Finished at: Wed Dec 29 23:37:41 EST 2010
[INFO] Final Memory: 2M/15M
[INFO] ------------------------------------------------------------------------
{code}

NOTE 1: The CLASSPATH value has been modified with cygwin path prefix, which 
become an invalid Java classpath value!
NOTE 2: If I use mvn.bat in cygwin shell, it will work as expected. So this 
only affect the mvn shell script only.
NOTE 3: This only affect the variable "CLASSPATH", b/c if I use JAVA_CLASSPATH, 
the value didn't change.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to