Use an external version of Maven from your Run Configuration. This
problem has been fixed on Maven trunk, but it has not yet been
integrated into m2eclipse.
There are pointers to using an external installation in this message:
http://www.nabble.com/Re%3A-Issue-in-using-exec-plugin-with-m2eclipse-p22030778.html
On 18-Feb-09, at 6:00 AM, Stevo Slavić wrote:
Hello all,
I think there is a bug in m2eclipse 0.9.7 - pom validation reports
"system-scoped dependency must specify an absolute path systemPath."
error when I believe it should not. In example pom [1] a pom/maven
property javafx.home has environment variable as it's value, that
environment variable has absolute path of an directory as it's
value. Further in the example pom, system scoped dependencies
reference pom property, and for those dependencies m2eclipse reports
mentioned error.
Other possibly related issue is that running maven clean & package
goals on this same project/pom using external maven installation
(2.0.9) from both eclipse and command line runs fine with no errors/
warnings related to systemPath but doing same using embedded maven
from within eclipse fails with compiler error [2] printed in console.
I'd appreciate if someone could verify if I'm not doing something
wrong. Thanks in advance!
Regards,
Stevo.
[1] example pom
<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>examples.javafx</groupId>
<artifactId>javafx-helloworld</artifactId>
<name>JavaFX Hello World</name>
<version>0.0.1-SNAPSHOT</version>
<properties>
<javafx.home>${env.JAVAFX_HOME}</javafx.home>
</properties>
<dependencies>
<dependency>
<groupId>javafx</groupId>
<artifactId>javafxrt</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>system</scope>
<systemPath>${javafx.home}/lib/shared/javafxrt.jar</
systemPath>
</dependency>
<dependency>
<groupId>javafx</groupId>
<artifactId>javafx-swing</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>system</scope>
<systemPath>${javafx.home}/lib/desktop/javafx-swing.jar</
systemPath>
</dependency>
<dependency>
<groupId>javafx</groupId>
<artifactId>Scenario</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>system</scope>
<systemPath>${javafx.home}/lib/desktop/Scenario.jar</
systemPath>
</dependency>
<dependency>
<groupId>javafx</groupId>
<artifactId>javafxgui</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>system</scope>
<systemPath>${javafx.home}/lib/desktop/javafxgui.jar</
systemPath>
</dependency>
</dependencies>
<pluginRepositories>
<pluginRepository>
<id>m2-javafxc</id>
<name>Sourceforge M2-javafxc static repo</name>
<url>http://m2-javafxc.sourceforge.net/m2repo</url>
</pluginRepository>
</pluginRepositories>
<build>
<sourceDirectory>src/main/javafx</sourceDirectory>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
<compilerId>javafxc</compilerId>
<include>**/*.fx</include>
<compilerArguments>
<jfxHome>false</jfxHome>
</compilerArguments>
</configuration>
<dependencies>
<dependency>
<groupId>net.sf.m2javafxc</groupId>
<artifactId>plexus-compiler-javafxc</
artifactId>
<version>0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>javafx</groupId>
<artifactId>javafxc</artifactId>
<version>0.1-SNAPSHOT</version>
<scope>system</scope>
<systemPath>${javafx.home}/lib/shared/
javafxc.jar</systemPath>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>examples.javafx.helloworld.Main</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
</project>
[2] maven compiler error when using embedded maven installation
Mojo:
org.apache.maven.plugins:maven-compiler-plugin:2.0.2:compile
FAILED for project:
examples.javafx:javafx-helloworld:jar:0.0.1-SNAPSHOT
Reason:
Unable to locate the JavaFXc Compiler in:
null (JFX_HOME)
or in classpath
Please ensure that "com.sun.tools.javafx.Main"
is in your classpath.
In most cases you can specify the location of your JavaFX
installation by setting the JFX_HOME environment variable,
or using <jfxHome> compiler argument
Thanks,
Jason
----------------------------------------------------------
Jason van Zyl
Founder, Apache Maven
jason at sonatype dot com
http://twitter.com/jvanzyl
----------------------------------------------------------
A man enjoys his work when he understands the whole and when he
is responsible for the quality of the whole
-- Christopher Alexander, A Pattern Language