Workspace定义了一个不包含有效jre/lib/rt.jar的VM:C:\ Program Files\Java\jre7

KIt*_*tis 3 java eclipse maven-plugin maven-3 maven

我是maven的新手,我一直在用maven使用hibernate,spring等创建简单的web应用程序.当我运行mvn eclipse:eclipse命令时出现以下错误.

[WARNING] Workspace defines a VM that does not contain a valid jre/lib/rt.jar: C:\Program Files\Java\jre7
[WARNING] could not read workspace project:c:\Users\Acer\workspace\.metadata\.plugins\org.eclipse.core.resources\.projects\myproject
org.codehaus.plexus.util.xml.pull.XmlPullParserException: processing instruction can not have PITarget with reserveld xml name (position: START_D
OCUMENT seen \r\n<?xml ... @2:7)
        at org.codehaus.plexus.util.xml.pull.MXParser.parsePI(MXParser.java:2453)
        at org.codehaus.plexus.util.xml.pull.MXParser.parseProlog(MXParser.java:1447)
        at org.codehaus.plexus.util.xml.pull.MXParser.nextImpl(MXParser.java:1395)
        at org.codehaus.plexus.util.xml.pull.MXParser.next(MXParser.java:1093)
        at org.codehaus.plexus.util.xml.Xpp3DomBuilder.build(Xpp3DomBuilder.java:187)
        at org.codehaus.plexus.util.xml.Xpp3DomBuilder.build(Xpp3DomBuilder.java:83)
        at org.codehaus.plexus.util.xml.Xpp3DomBuilder.build(Xpp3DomBuilder.java:48)
        at org.apache.maven.plugin.eclipse.reader.ReadWorkspaceLocations.readArtefact(ReadWorkspaceLocations.java:341)
        at org.apache.maven.plugin.eclipse.reader.ReadWorkspaceLocations.readWorkspace(ReadWorkspaceLocations.java:536)
        at org.apache.maven.plugin.eclipse.reader.ReadWorkspaceLocations.init(ReadWorkspaceLocations.java:94)
        at org.apache.maven.plugin.eclipse.EclipsePlugin.getWorkspaceConfiguration(EclipsePlugin.java:2063)
        at org.apache.maven.plugin.eclipse.EclipsePlugin.fillDefaultClasspathContainers(EclipsePlugin.java:1580)
        at org.apache.maven.plugin.eclipse.EclipsePlugin.setup(EclipsePlugin.java:978)
        at org.apache.maven.plugin.ide.AbstractIdeSupportMojo.execute(AbstractIdeSupportMojo.java:500)
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
[INFO] no substring wtp server match.
Run Code Online (Sandbox Code Playgroud)

这是我的pom.xml

任何人都可以告诉我这里我做错了什么.提前感谢您的帮助

Reg*_*ton 5

我也得到了错误:

[警告] Workspace定义了一个不包含有效jre/lib/rt.jar的VM:C:\ Program Files\Java\jre6

但我没有得到

[警告]无法读取工作区项目:c:\ Users\Acer\workspace.metadata.plugins\org.eclipse.core.resources.projects\myproject

(也许您没有使用-Declipse.workspace = ...选项在mvn命令行上正确设置工作空间路径

无论如何,第一个警告是由我在非标准位置使用JDK(JAVA_HOME = C:\ tools\java\jdk1.6.0_31)并设置我的Eclipse工作区以将其用作默认值引起的.Maven Eclipse插件似乎没有正确选择默认的JDK,直到我从Eclipse中安装的JDK列表中删除"C:\ Program Files\Java\jre6"中的JDK之后,"mvn eclipse:eclipse"才会起作用.我现在只在列表中有正确的一个.


om3*_*39a 2

我看起来像一个java问题。检查您的 java_home 目录。它是否指向 C:\Program Files\Java\jre7 ?如果是这样,让 maven 也通过将 maven 目录(例如 D:\maven-2.2.1\conf)中的 toolchains.xml 配置为您的 java 版本来指向读取相同位置

<toolchains>
<toolchain>
    <type>jdk</type>
    <provides>
        <version>1.7</version> <!--This should be same as is configured via the toolchains plugin -->
        <vendor>ibm</vendor> <!--This should be same as is configured via the toolchains plugin -->
    </provides>
    <configuration>
        <jdkHome>C:\Program Files\Java\jdk1.7.0</jdkHome>
    </configuration>
</toolchain>
</toolchains>
Run Code Online (Sandbox Code Playgroud)