【问题标题】:Unable to execute maven module java class无法执行maven模块java类
【发布时间】:2019-09-26 09:40:33
【问题描述】:

我在 Eclipse 中创建了一个父 Maven 项目。使用以下命令在父项目下创建了一个 maven 模型

mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=RELEASE -DgroupId=Saurabh -DartifactId=CucumberProject -Dversion=1.1 -DinteractiveMode=false

参考以下文件夹结构:

当我尝试在 CucumberProject 模块下运行 App.java 时,出现以下错误:

我认为问题是由于 CucumberProject 模块下没有 Source 文件夹(如果是这种情况,那么我需要以编程方式创建它),因为目的是使用命令/以编程方式创建整个结构,我不想要任何人工干预。

请提出实际问题。谢谢。

【问题讨论】:

  • 您能否详细说明您在尝试运行 App.java 时所做的事情 - 也请您包含 App.java 的内容。
  • @0xdecimal 它只打印一个“hello world”字符串。它是创建项目时默认创建的 java 类。
  • 你到底想创造什么?因为从外观上看,这是一个创建新 maven 原型的项目结构,而不是可以运行的 Java 应用程序
  • @Gimby 我需要在父级中为模块“CucumberProject”(CucumberProject/src/main/java)创建源文件夹,但需要以编程/命令的方式进行。基本上我需要在 1 个父项目下创建多个模块,并且模块必须是可执行的,即在模块下创建的类必须是可执行的。
  • Eclipse 本身只有它自己的项目处理,对 Maven 一无所知。它是内置插件 m2eclipse,它负责翻译 pom 文件中的信息并将其与 Eclipse 项目结构同步。没有真正的“程序化”事情要做,您需要确保 m2eclipse 可以正常工作。从拥有适当的 pom 结构开始。如果你有一个适当的父 pom,其中包含模块,那么 m2eclipse 应该能够将模块作为单独的 Eclipse 项目导入,就像已经解释过的盆地一样。

标签: java eclipse maven multi-module maven-module


【解决方案1】:

您导入了错误的 Maven 项目。关闭父项目,导入子项目,它就可以工作了。 实际上,Eclipse 不支持嵌套项目。为了更好的兼容性,请将父项目放在子项目附近的文件夹中,并在<parent> 中设置<relativePath>../parent/pom.xml</relativePath>。同样,在父 pom 中使用<module>../childfolder</module>

【讨论】:

  • 我需要在父级中为模块“CucumberProject”(CucumberProject/src/main/java)创建源文件夹,但需要以编程/命令的方式进行。基本上我需要在 1 个父项目下创建多个模块,并且模块必须是可执行的,即在模块下创建的类必须是可执行的。
  • @MichaelCorleone 您仍然需要在 Eclipse 中导入子项目
猜你喜欢
  • 2019-02-13
  • 1970-01-01
  • 2020-04-05
  • 2019-01-23
  • 2021-03-11
  • 2018-01-18
  • 1970-01-01
  • 1970-01-01
  • 2013-04-06
相关资源
最近更新 更多