Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在eclipse中使用指定的java home属性构建Maven项目?_Java_Eclipse_Maven - Fatal编程技术网

如何在eclipse中使用指定的java home属性构建Maven项目?

如何在eclipse中使用指定的java home属性构建Maven项目?,java,eclipse,maven,Java,Eclipse,Maven,我想用给定的java home属性构建一个maven集成项目。我想用java编写一段代码,为InvocationRequest对象设置java home属性。主要目标是通过java home算法构建一个具有给定运行时的项目。所以我会调用getInvoker.executerequest;执行maven目标,其中request是InvocationRequest对象。 我试图用properties.setPropertyGoals.java\u home、javaHomePath设置request

我想用给定的java home属性构建一个maven集成项目。我想用java编写一段代码,为InvocationRequest对象设置java home属性。主要目标是通过java home算法构建一个具有给定运行时的项目。所以我会调用getInvoker.executerequest;执行maven目标,其中request是InvocationRequest对象。 我试图用properties.setPropertyGoals.java\u home、javaHomePath设置request java.home属性;并调用方法executeGoalspom,新字符串[]{Goals.INSTALL,Goals.CLEAN},properties。这个执行官。。。方法还包含getInvoker.executerequest调用和请求对象定义。 输出为:缺少:1 com.sun:tools:jar:1.5.0

编辑:解决了输出问题,但出现了一个新问题: 类文件的版本50.0错误,应为49.0。也许我改变了jre主页,所以我想我是在用比现在运行的版本更新的java进行编译。 提醒:我想使用指定的java home属性进行构建=我想将编译器java HOMER版本更改为指定的版本。日蚀
如果您能提供帮助,我将不胜感激。

我认为这是不可配置的。使用JAVA_HOME环境变量是Maven核心的一部分。请参阅以下被接受的答案:

此外,在Java进程中,不可能为当前进程设置或更改环境变量而不是系统属性。如果从Java进程中创建另一个进程,则需要为该子进程指定环境变量

也许解决方案是执行一个Maven命令,例如mvn clean install,并将一个特定的JAVA_HOME变量设置为子进程。这需要安装Maven,并且可以使用mvn命令。使用切换到目标项目的pom.xml所在的工作目录,并在启动流程之前设置适当的


如果Maven不应该安装在应用程序运行的环境中,您还可以将Maven安装与应用程序一起分发到单独的目录中。然后,根据操作系统的不同,您可以运行此发行版的mvn.bat或mvn.sh。

请查看以下问题和例外答案:谢谢您的回答,我已编辑了该问题。