Java IntelliJ无法找到或加载主类telematics.GetTelematicsData

Java IntelliJ无法找到或加载主类telematics.GetTelematicsData,java,maven,intellij-idea,Java,Maven,Intellij Idea,这个问题以前有人问过,但我搜索了几乎所有的问题,仍然找不到适合解决我问题的答案 所以我创建了我的java程序,当我在IntelliJ中运行它时,一切正常。在File->projectstructure中,我创建了一个新的jar,其中有“fromsmoduleswithdependencies”。我在src/main/java清单文件中设置了清单文件,在清单文件中定义了我的主类:“main class:telematics.gettelematicdata”,并将jar文件写入我的桌面。我做了bu

这个问题以前有人问过,但我搜索了几乎所有的问题,仍然找不到适合解决我问题的答案

所以我创建了我的java程序,当我在IntelliJ中运行它时,一切正常。在File->projectstructure中,我创建了一个新的jar,其中有“fromsmoduleswithdependencies”。我在src/main/java清单文件中设置了清单文件,在清单文件中定义了我的主类:“main class:telematics.gettelematicdata”,并将jar文件写入我的桌面。我做了build->build工件,jar放在我的桌面上。当我使用以下命令从命令行运行jar文件时

java -jar filepath.jar
它抛出错误:

Error: Could not find or load main class telematics.GetTelematicsData
我把jar文件解压缩了。当我查看结构中的解压文件夹时,有一个telematics文件夹,其中有一个文件getElematicsData.class(这确实是我的主类)


有人说,这可能是因为POM文件中maven的某些依赖项导致了错误,但我不知道如何找到错误的依赖项,也不知道如何进行测试。

如果您已经在使用maven,我看不出您有理由使用Intellij导出jar。我建议您使用maven,因为如果您将来需要进行自动化部署,而不是手动切割jar,这将非常有用。只需打开终端或命令提示符,将目录更改为项目文件夹并键入

mvn clean package 
您应该看到在目标目录中创建的jar

project/target/your-java-appliation-1.0.jar

如果您使用的是发布插件,请查看。还有其他插件,我鼓励你去探索它们。下面是另一个StackOverflow,它谈到了编译一个包含所有依赖项的jar。

谢谢,这解决了这个问题,你知道为什么它在使用maven而不仅仅是intellij的工件生成器构建时有效吗?@mrdeadsven我想你必须配置intellij以包含路径的所有依赖项。我没怎么研究过,但这是我的猜测。