Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
maven中没有main.java的包名_Java_Eclipse_Maven - Fatal编程技术网

maven中没有main.java的包名

maven中没有main.java的包名,java,eclipse,maven,Java,Eclipse,Maven,我使用标准的Maven目录布局在Eclipse中开发我的项目。源代码位于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中配置

我使用标准的Maven目录布局在Eclipse中开发我的项目。源代码位于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完全是新手。

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

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的超级粉丝。

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

给定的main.java包与src/main/java位置无关。如果这是必需的,那么您在Eclipse(m2e)等中的配置是错误的。我还没有为Eclipse(m2e)或像Maven这样的Maven Eclipse使用任何插件,只是从命令行用mvn构建了项目。