22

我在 Eclipse 中使用标准的 Maven 目录布局开发我的项目。源代码位于 src/main/java/com/mycompany 目录中。并且需要将我的源类放在包 main.java.com.mycompany 中。当我构建可执行 jar 文件时,我必须在 Manifest.MF 中定义主类,例如:

    Main-Class: main.java.com.mycompany.MyMainClass

但是我在很多示例中看​​到(例如在 maven-assembly-plugin 或 maven-jar-plugin 中配置 mainClass 属性),类名是在没有 main.java 部分的情况下指定的。我只想拥有

    Main-Class: com.mycompany.MyMainClass

我不知道如何实现这一点,因为我在 Maven 中完全是新手。

4

3 回答 3

46

Maven 的默认目录布局与创建新 Java 项目时 Eclipse 使用的布局不同。

其实很简单。当您创建一个新的 Java 项目时,Eclipse 会在您的文件系统上创建一个名为“src”的文件夹,您应该在其中放置源代码。此外,Eclipse 将此文件夹配置为“源文件夹”。您在此文件夹中创建的每个文件夹都将代表一个 Java 包。

Maven 想要的有点不同。Maven 喜欢你有一个 'src/main/java' 文件夹,其中 'java' 子文件夹配置为源文件夹。因此,在此 java 文件夹下创建的所有文件夹都将代表 Java 包。

您可以从项目属性中管理 Eclipse 中的源文件夹。右键单击您的项目,选择“构建路径-> 配置构建路径”。在弹出窗口中打开“源”选项卡。现在,将“src”作为源文件夹删除,并将其替换为“src/main/java”。

现在 Eclipse 会将您的包识别为 com.mycompany 而不是 main.java.com.mycompany。

我总是使用 maven-eclipse 插件从命令行生成我的 eclipse 项目和类路径文件。我不是 m2e 的忠实粉丝。

于 2013-02-09T13:22:21.543 回答
4

您也可以尝试更新 maven 项目。右键单击项目 > Maven > 更新 Maven 项目。

于 2015-12-30T05:55:24.350 回答
3

如果您使用 Eclipse,请使用 m2e。Maven项目的eclipse工作区配置不正确

于 2013-02-09T13:13:36.373 回答