在maven中没有main.java的包名称

Gra*_*ade 18 java eclipse maven

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

    Main-Class: main.java.com.mycompany.MyMainClass
Run Code Online (Sandbox Code Playgroud)

但是我在很多例子中看到(比如在maven-assembly-plugin或maven-jar-plugin中配置mainClass属性),没有main.java部分指定了类名.我只想拥有

    Main-Class: com.mycompany.MyMainClass
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚我是如何实现这一点的,因为我在Maven中完全是新手.

ver*_*age 41

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

它实际上非常简单.当您创建一个新的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的忠实粉丝.