在清理项目后,我已经多次“构建” pom.xml文件。
设置目标并尝试安装时,我已经打包并编译了。它创建了一个“ SNAPSHOT” jar文件,但是当我尝试执行该文件时,没有任何反应。
我试图在命令行(CMD)上执行它以查看错误,并且收到此消息:
在smart.mirror-0.0.1-SNAPSHOT.jar中没有主清单属性
任何帮助将不胜感激。
答案 0 :(得分:1)
您确实需要使用maven jar插件并定义主类。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>
com.yourpackage.YourMainClass
</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
通常,您确实具有依赖项,可以根据需要使用Shade插件将其打包到自己的jar中。
答案 1 :(得分:0)
基本上,您需要将依赖项添加到pom中,然后重新构建它。请将此依赖项添加到您的pom中:
<dependency>
<groupId>com.mashape.unirest</groupId>
<artifactId>unirest-java</artifactId>
<version>1.4.9</version>
</dependency>
此后,右键单击该项目,然后选择maven并将其清理。清洁后,请遵循相同的步骤并选择构建。它将生成可执行jar。
必须使用Maven Assembly Plugin而不是Jar来部署具有可执行Jar的依赖项。它不在您的pom中。它应该类似于下面提到的插件配置:
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>fully.qualified.MainClass</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>