WAD on Windows Errors
pedanticdev opened this issue · 13 comments
Trying to use WAD on Windows and I keep getting
?[34m 'C:\Users\john\servers\payara5\glassfish\domains\domain1\autodeploy' ?[0m
WAD is watching .\src\main, deploying target\cdi-code.war to [C:\Users\john\servers\payara5\glassfish\domains\domain1\autodeploy\cd
i-code.war]
[?[1;90m09:48:37?[0m]Exception in thread "main" java.lang.IllegalStateException: Maven application directory was not specified, and $
{maven.home} is not provided in the system properties. Please specify at least on of these.
at org.apache.maven.shared.invoker.MavenCommandLineBuilder.checkRequiredState(MavenCommandLineBuilder.java:126)
at org.apache.maven.shared.invoker.MavenCommandLineBuilder.build(MavenCommandLineBuilder.java:61)
at org.apache.maven.shared.invoker.DefaultInvoker.execute(DefaultInvoker.java:100)
at com.airhacks.wad.watch.control.Builder.build(Builder.java:40)
at com.airhacks.wad.watch.boundary.WADFlow.buildAndDeploy(WADFlow.java:65)
at com.airhacks.wad.watch.boundary.WADFlow.lambda$new$0(WADFlow.java:41)
at com.airhacks.wad.watch.boundary.WADFlow.<init>(WADFlow.java:42)
at wad.App.main(App.java:75)
when I run the java -jar wad.jar [deployment-dir] command. I'm not sure what I need to do. mvn -v gives me
Apache Maven 3.5.3 (3383c37e1f9e9b3bc3df5050c29c8aff9f295297; 2018-02-24T19:49:05Z)
Maven home: C:\Users\john\mvn\apache-maven-3.5.3\bin\..
Java version: 1.8.0_162, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.8.0_162\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
Have you specified MAVEN_HOME env variable?
wad.sh uses https://maven.apache.org/shared/maven-invoker/ behind the scenes. The doc might be useful. In parallel I asked on twitter for windows help :-)
I'm running wad on Windows. Had to add a system property when starting wad like this:
java -Dmaven.home="C:\Tools\maven\apache-maven-3.5.2" -jar wad.jar C:\server\wildfly-16.0.0.Final\standalone\deployments
I got it running with M2_HOME
env variable pointing to the Maven installation folder
I got it running with
M2_HOME
env variable pointing to the Maven installation folder
This does the trick on my machine as well. Thanks.
Have you specified MAVEN_HOME env variable?
wad.sh uses https://maven.apache.org/shared/maven-invoker/ behind the scenes. The doc might be useful. In parallel I asked on twitter for windows help :-)
Yes MAVEN_HOME set. Docs seems geared towards one using a Unix based OS.
I got it running with
M2_HOME
env variable pointing to the Maven installation folder
This got it up but then I get this
[�[1;90m08:01:22�[0m]org.apache.maven.shared.invoker.MavenInvocationException Error configuring command-line. Reason: Maven executable not found at: C:\Users\john\mvn\apache-maven-3.5.3\bin\bin\mvn.bat
Downloaded a fresh version of Maven into the folder but still.
This got it up but then I get this
[�[1;90m08:01:22�[0m]org.apache.maven.shared.invoker.MavenInvocationException Error configuring command-line. Reason: Maven executable not found at: C:\Users\john\mvn\apache-maven-3.5.3\bin\bin\mvn.bat
Seems like you set M2_HOME to C:\Users\john\mvn\apache-maven-3.5.3\bin.
Try setting it to C:\Users\john\mvn\apache-maven-3.5.3 without the extra "\bin".
This got it up but then I get this
[�[1;90m08:01:22�[0m]org.apache.maven.shared.invoker.MavenInvocationException Error configuring command-line. Reason: Maven executable not found at: C:\Users\john\mvn\apache-maven-3.5.3\bin\bin\mvn.bat
Seems like you set M2_HOME to C:\Users\john\mvn\apache-maven-3.5.3\bin.
Try setting it to C:\Users\john\mvn\apache-maven-3.5.3 without the extra "\bin".
Doesn't make any difference
[�[1;90m08:14:02�[0m]org.apache.maven.shared.invoker.MavenInvocationException Error configuring command-line. Reason: Maven executable not found at: C:\Users\john\mvn\apache-maven-3.5.3\bin\mvn.bat
I'm running Windows 10, fully updated if that's any help. Using Oracle Java 8.
The latest Maven releases come with a "mvn.cmd" - but no "mvn.bat". The quick fix might be to simply copy/rename the mvn file. However, this is just a local fix.
There might be some older maven plugin in your project settings that is causing this issue.
The latest Maven releases come with a "mvn.cmd" - but no "mvn.bat". The quick fix might be to simply copy/rename the mvn file. However, this is just a local fix.
There might be some older maven plugin in your project settings that is causing this issue.
No difference. Downloading and using Maven 3.6 is the same error
[�[1;90m08:33:03�[0m]org.apache.maven.shared.invoker.MavenInvocationException Error configuring command-line. Reason: Maven executable not found at: C:\Users\john\mvn\apache-maven-3.5.3\bin\mvn.bat
My pom.xml file is
<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>com.pedantic</groupId>
<artifactId>cdi-code</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<failOnMissingWebXml>false</failOnMissingWebXml>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.jboss.arquillian</groupId>
<artifactId>arquillian-bom</artifactId>
<version>1.4.0.Final</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>8.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.jboss.arquillian.junit</groupId>
<artifactId>arquillian-junit-container</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>fish.payara.arquillian</groupId>
<artifactId>arquillian-payara-server-4-embedded</artifactId>
<version>1.0.Beta3</version>
</dependency>
<dependency>
<groupId>fish.payara.extras</groupId>
<artifactId>payara-embedded-all</artifactId>
<version>5.184</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>cdi-code</finalName>
<testResources>
<testResource>
<directory>src/test/resources</directory>
</testResource>
</testResources>
<testSourceDirectory>src/test</testSourceDirectory>
<!-- <plugins>-->
<!-- <plugin>-->
<!-- <artifactId>maven-compiler-plugin</artifactId>-->
<!-- <version>3.7.0</version>-->
<!-- </plugin>-->
<!-- </plugins>-->
</build>
<!-- <profiles>-->
<!-- <profile>-->
<!-- <id>payara</id>-->
<!-- <activation>-->
<!-- <activeByDefault>true</activeByDefault>-->
<!-- </activation>-->
<!-- <build>-->
<!-- <plugins>-->
<!-- <plugin>-->
<!-- <groupId>fish.payara.maven.plugins</groupId>-->
<!-- <artifactId>payara-micro-maven-plugin</artifactId>-->
<!-- <version>1.0.1</version>-->
<!-- <executions>-->
<!-- <execution>-->
<!-- <phase>package</phase>-->
<!-- <goals>-->
<!-- <goal>bundle</goal>-->
<!-- </goals>-->
<!-- </execution>-->
<!-- </executions>-->
<!-- <configuration>-->
<!-- <useUberJar>true</useUberJar>-->
<!-- <deployWar>true</deployWar>-->
<!-- <payaraVersion>5.191</payaraVersion>-->
<!-- </configuration>-->
<!-- </plugin>-->
<!-- </plugins>-->
<!-- </build>-->
<!-- </profile>-->
<!-- </profiles>-->
</project>
I just created a minimal project using your POM. Unfortunately, I am not able to reproduce the error (running on Maven 3.5.2) - unless I misconfigure M2_HOME.
I've updated my blog post about Adam's tool to have less confusion for further Windows devs (setting M2_HOME
correctly): https://rieckpil.de/review-improved-java-jakarta-ee-productivity-with-adam-biens-wad-watch-and-deploy/
Reference to rieckpil's article in the new "articles" section added. This should help with Windows setup.