我正在使用Maven建立一个我正在研究的项目。构建工作正常,运行生成的JAR时会出现问题。错误显示the main class com.apress.springrecipes.sequence.Main cannot be found.
但是查看文件夹结构我没看到为什么无法找到主类。
这是文件夹结构:
myJar.jar
--com
--apress
--springrecipes
--sequence
--Main.class
--META-INF
--MAINIFEST.MF
MANIFEST.MF文件的主类属性设置为com.apress.springrecipes.sequence.Main
。但看起来即使类文件位于JAR中,JAR也无法找到它。
这是我处理构建的pom.xml的相关部分:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>C:/Users/Graham/.m2/repository/</classpathPrefix>
<classpathLayoutType>repository</classpathLayoutType>
<mainClass>com.apress.springrecipes.sequence.Main</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
为什么没有在罐子里找到Main class,即使它在那里?
答案 0 :(得分:0)
我不是Java开发人员,但是我试一试:编译器说的内容和你正在检查的内容不是一回事。编译器说它找不到“Main class”,它并没有说它找不到“Main.class文件”。
文件可能在那里,但是在其中定义了“class Main ...”(使用public void main()方法)?
答案 1 :(得分:0)
即使我遇到了类似的问题,我采取了以下措施并且有效。