Skip to content

Can't start mvnd with noDaemon option #1248

@gboucherie

Description

@gboucherie

Hi,

I try to start running mvnd with the mvnd.noDaemon option set to true but the process failed to start as it's missing the mvnd.java.home property.
For what I understand by reading the code is that this property is normally set by the DaemonConnector class when starting in normal mode.
But with noDaemon mode activated this property is not set before instantiate the Server class and then it fail to find it.

Here is the stacktrace I get.

gboucherie@barret:~$ mvnd.sh -Dmvnd.noDaemon --version
Apache Maven Daemon (mvnd) 1.0.2 JVM client (cccc1ec8a5b741c62b29f9fb04d37b1678a029bb)                                                                                                                  
Terminal: org.jline.terminal.impl.PosixSysTerminal with pty org.jline.terminal.impl.jni.linux.LinuxNativePty
---------------------------------------------------
constituent[0]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/conf/logging/
constituent[1]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/mvnd/mvnd-daemon-1.0.2.jar
constituent[2]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/mvnd/takari-smart-builder-1.0.0.jar
constituent[3]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/mvnd/jline-terminal-ffm-3.26.3.jar
constituent[4]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/mvnd/jline-terminal-jni-3.26.3.jar
constituent[5]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/mvnd/jline-native-3.26.3.jar
constituent[6]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/mvnd/mvnd-agent-1.0.2.jar
constituent[7]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/mvnd/mvnd-helper-agent-1.0.2.jar
constituent[8]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/mvnd/mvnd-client-1.0.2.jar
constituent[9]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/mvnd/jline-terminal-3.26.3.jar
constituent[10]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/mvnd/mvnd-native-1.0.2.jar
constituent[11]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/mvnd/plexus-interactivity-api-1.3.jar
constituent[12]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/mvnd/mvnd-common-1.0.2.jar
constituent[13]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/maven-plugin-api-3.9.9.jar
constituent[14]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/maven-core-3.9.9.jar
constituent[15]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/maven-model-builder-3.9.9.jar
constituent[16]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/maven-embedder-3.9.9.jar
constituent[17]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/maven-settings-builder-3.9.9.jar
constituent[18]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/maven-repository-metadata-3.9.9.jar
constituent[19]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/maven-resolver-connector-basic-1.9.22.jar
constituent[20]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/maven-resolver-transport-http-1.9.22.jar
constituent[21]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/maven-resolver-util-1.9.22.jar
constituent[22]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/maven-artifact-3.9.9.jar
constituent[23]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/maven-shared-utils-3.4.2.jar
constituent[24]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/maven-compat-3.9.9.jar
constituent[25]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/maven-resolver-transport-wagon-1.9.22.jar
constituent[26]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/maven-model-3.9.9.jar
constituent[27]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/maven-resolver-impl-1.9.22.jar
constituent[28]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/maven-resolver-provider-3.9.9.jar
constituent[29]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/maven-resolver-transport-file-1.9.22.jar
constituent[30]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/maven-settings-3.9.9.jar
constituent[31]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/maven-resolver-api-1.9.22.jar
constituent[32]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/maven-resolver-named-locks-1.9.22.jar
constituent[33]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/maven-builder-support-3.9.9.jar
constituent[34]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/maven-resolver-spi-1.9.22.jar
constituent[35]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/mvnd-logging-1.0.2.jar
constituent[36]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/wagon-http-shared-3.5.3.jar
constituent[37]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/commons-codec-1.17.1.jar
constituent[38]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/org.eclipse.sisu.inject-0.9.0.M3.jar
constituent[39]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/jcl-over-slf4j-1.7.36.jar
constituent[40]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/jul-to-slf4j-1.7.36.jar
constituent[41]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/plexus-cipher-2.0.jar
constituent[42]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/plexus-xml-3.0.1.jar
constituent[43]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/httpclient-4.5.14.jar
constituent[44]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/plexus-interpolation-1.27.jar
constituent[45]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/wagon-file-3.5.3.jar
constituent[46]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/javax.annotation-api-1.3.2.jar
constituent[47]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/commons-cli-1.8.0.jar
constituent[48]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/slf4j-api-1.7.36.jar
constituent[49]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/plexus-component-annotations-2.1.0.jar
constituent[50]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/plexus-sec-dispatcher-2.0.jar
constituent[51]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/org.eclipse.sisu.plexus-0.9.0.M3.jar
constituent[52]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/jansi-2.4.1.jar
constituent[53]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/failureaccess-1.0.2.jar
constituent[54]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/wagon-provider-api-3.5.3.jar
constituent[55]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/guava-33.2.1-jre.jar
constituent[56]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/wagon-http-3.5.3.jar
constituent[57]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/httpcore-4.4.16.jar
constituent[58]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/plexus-utils-3.5.1.jar
constituent[59]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/javax.inject-1.jar
constituent[60]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/guice-5.1.0.jar
constituent[61]: file:/home/gboucherie/.sdkman/candidates/mvnd/current/mvn/lib/aopalliance-1.0.jar
---------------------------------------------------
java.lang.RuntimeException: Unable to connect to internal daemon
	at org.mvndaemon.mvnd.client.DaemonConnector.connectNoDaemon(DaemonConnector.java:178)
	at org.mvndaemon.mvnd.client.DaemonConnector.connect(DaemonConnector.java:96)
	at org.mvndaemon.mvnd.client.DefaultClient.execute(DefaultClient.java:353)
	at org.mvndaemon.mvnd.client.DefaultClient.main(DefaultClient.java:171)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:569)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:292)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:208)
	at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:361)
	at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:314)
Caused by: java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)
	at org.mvndaemon.mvnd.client.DaemonConnector.lambda$connectNoDaemon$1(DaemonConnector.java:153)
	at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: java.lang.RuntimeException: Could not initialize org.mvndaemon.mvnd.daemon.Server
	at org.mvndaemon.mvnd.daemon.Server.<init>(Server.java:171)
	... 7 more
Caused by: java.lang.IllegalStateException: The system property mvnd.java.home is missing
	at org.mvndaemon.mvnd.common.Environment.asString(Environment.java:425)
	at org.mvndaemon.mvnd.daemon.Server.<init>(Server.java:159)
	... 7 more

I install mvnd with sdkman and use version 1.0.2.

Could it be a bug or I just missing some configurations.
Thanks

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions