@@ -293,28 +293,34 @@ export class Maven implements Build {
293293 '-Dplatform=micro'
294294 ] ;
295295
296- let process : ChildProcess = cp . spawn ( mavenExe , cmdArgs , { cwd : project . targetFolder ?. fsPath } ) ;
296+ let jdkHome ;
297+ let env = { ...process . env } ;
298+ if ( this . payaraInstance && ( jdkHome = this . payaraInstance . getJDKHome ( ) ) ) {
299+ env [ 'JAVA_HOME' ] = jdkHome ;
300+ }
301+
302+ let childProcess : ChildProcess = cp . spawn ( mavenExe , cmdArgs , { cwd : project . targetFolder ?. fsPath , shell : true , env : env } ) ;
297303
298- if ( process . pid ) {
304+ if ( childProcess . pid ) {
299305 let outputChannel = ProjectOutputWindowProvider . getInstance ( ) . get ( `${ project . artifactId } ` ) ;
300306 outputChannel . show ( false ) ;
301307 let logCallback = ( data : string | Buffer ) : void => outputChannel . append ( data . toString ( ) ) ;
302- if ( process . stdout !== null ) {
303- process . stdout . on ( 'data' , logCallback ) ;
308+ if ( childProcess . stdout !== null ) {
309+ childProcess . stdout . on ( 'data' , logCallback ) ;
304310 }
305- if ( process . stderr !== null ) {
306- process . stderr . on ( 'data' , logCallback ) ;
311+ if ( childProcess . stderr !== null ) {
312+ childProcess . stderr . on ( 'data' , logCallback ) ;
307313 }
308- process . on ( 'error' , ( err : Error ) => {
314+ childProcess . on ( 'error' , ( err : Error ) => {
309315 console . log ( 'error: ' + err . message ) ;
310316 } ) ;
311- process . on ( 'exit' , ( code : number ) => {
317+ childProcess . on ( 'exit' , ( code : number ) => {
312318 if ( code === 0 && project . targetFolder && project . artifactId ) {
313319 callback ( vscode . Uri . file ( path . join ( project . targetFolder . fsPath , project . artifactId ) ) ) ;
314320 }
315321 } ) ;
316322 }
317- return process ;
323+ return childProcess ;
318324 }
319325
320326 public startPayaraMicro (
0 commit comments