当前位置: 首页 > 知识库问答 >
问题:

如何在Eclipse中运行Java9主类而不编辑启动配置?

鲜于温书
2023-03-14

我在Eclipse Oxygen.1a版本(4.7.1a)中的Maven项目中创建了一个简单的Hello World主类和一个module-info.java文件,运行于Java9.0.1。

当我尝试启动主类与右键单击-运行为Java应用程序我得到的错误:

启动层
java初始化期间出错。lang.module。FindException:模块com.github.gv2011。采石场模块。找不到moda

我可以成功地从目标/类目录的命令行运行它:

java -p . -m com.github.gv2011.quarry.modules.moda/com.github.gv2011.quarry.modules.moda.Hello
Hello

如果我手动编辑创建的启动配置并添加VM参数

-p target/classes
-m com.github.gv2011.quarry.modules.moda/com.github.gv2011.quarry.modules.moda.Hello

它也起作用。

有没有一种更舒适的方法可以从Eclipse启动主类,而无需手动启动配置编辑?

主要类别:

package com.github.gv2011.quarry.modules.moda;
public class Hello {
  public static void main(final String[] args) {
    System.out.println("Hello");
  }
}

java模块:

module com.github.gv2011.quarry.modules.moda {
  exports com.github.gv2011.quarry.modules.moda;
}

相关问题:Eclipse-添加模块信息时未找到模块。JAVA

Eclipse创建的启动配置(不工作)如下所示:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
    <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
        <listEntry value="/quarry-modules-a/src/main/java/com/github/gv2011/quarry/modules/moda/Hello.java"/>
    </listAttribute>
    <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
        <listEntry value="1"/>
    </listAttribute>
    <stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.m2e.launchconfig.classpathProvider"/>
    <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.github.gv2011.quarry.modules.moda.Hello"/>
    <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="quarry-modules-a"/>
    <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.m2e.launchconfig.sourcepathProvider"/>
</launchConfiguration>

工作的一个是:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
    <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
        <listEntry value="/quarry-modules-a/src/main/java/com/github/gv2011/quarry/modules/moda/Hello.java"/>
    </listAttribute>
    <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
        <listEntry value="1"/>
    </listAttribute>
    <stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.m2e.launchconfig.classpathProvider"/>
    <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.github.gv2011.quarry.modules.moda.Hello"/>
    <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="quarry-modules-a"/>
    <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.m2e.launchconfig.sourcepathProvider"/>
    <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-p target/classes&#13;&#10;-m com.github.gv2011.quarry.modules.moda/com.github.gv2011.quarry.modules.moda.Hello"/>
</launchConfiguration>

共有2个答案

万俟渝
2023-03-14

正如在评论中指出的,有一个Eclipse错误,不幸的是很少引起注意(这看起来像我应该立即修复的拦截器)。

至于现在,我认为这是最简单的解决方案:

  • 转到启动配置并查找VM参数
廉志强
2023-03-14

这将在EclipsePhoton中修复(我已经用4.8M6进行了检查)。

如果您不想等到6月,您可以从下载当前的里程碑构建https://www.eclipse.org/downloads/index-developer.php

设置modulepath之前只是在m2e中没有为氧气实现(在m2e中为光子实现)https://bugs.eclipse.org/bugs/show_bug.cgi?id=529398.)

 类似资料:
  • 当我在给定文件夹中运行Eclipse.exe时,它不会启动。Eclipse启动屏幕将出现一瞬间,然后关闭。没有错误。 我几乎什么都试过了。更新JDK和JRE:我安装了JRE 7和JDK 1.7.040。它们都是64位的,都在(x86)文件夹中。我试过重新安装。重新下载Eclipse。每次都是一样的结果。我已经将虚拟机添加到配置中,但仍然没有添加任何内容。 我使用Windows 7和标准Eclips

  • 过去,我通过安全策略文件启动了jstatd,如下所示:https://stackoverflow.com/a/14930180/1294116 但是,在Java9中,他们已经删除了文件,这意味着这个解决方案不再起作用。有人知道如何解决这个问题吗?(目前我又回到了获取错误)

  • 我想执行一个非常简单的例子来解释Spring-Boot中的IOC概念。 为此,我创建了一个Bean,它将@Autowired转换为main-class,它有一个方法来处理Bean。 豆子: 我知道NullPointer-Exception的原因是我用“new”关键字创建了Main-class。 但是这个问题更多地集中在“我如何用Spring-Boot启动一个main-class”上。

  • 问题内容: 我似乎无法在Eclipse中运行以下代码。我有一个主要方法,这是当前打开的文件。我什至尝试了“运行方式”选项,但始终收到此错误:“编辑器不包含主类型”。我在这里做错了什么? 问题答案: 尝试关闭并重新打开文件,然后按。 确认正在运行的文件的名称与您正在处理的项目的名称相同,并且该文件中的公共类的名称也与您正在处理的项目的名称相同。 否则,请重新启动Eclipse。让我知道这是否解决了问

  • 我尝试在Eclipse Oxygo4.7上使用Java9。显然,我已经安装了Java9对marketplace氧气的支持。我无法让junit测试工作。我用两个类创建了简单的maven项目: null null 如何在Eclipse中使用Java9运行这个测试?

  • 问题内容: 我只是第一次在Eclipse中安装了Maven插件。现在有关于Eclipse启动的消息,我应该在JDK中启动Eclipse而不是jre来使Maven组件运行良好。我在eclipse.ini中使用了- vm参数: 但是重新启动后消息仍然存在。 我已经尝试过: 还有: 但是什么都没有改变。 如何在JDK中启动Eclipse? 提前致谢。 问题答案: 如果您使用的是Windows,请右键单击