非常感谢下面两个博客的博主,第一次接触相关知识,有不对的地方希望大家指正。虽然问题解决了,但是这么做的原因还没弄清楚,还得继续学习。
参考博客1
参考博客2
版本:
IDE 2020
maven 3.5.4
出现的问题:
在IDE上新建了maven项目,把主函数打包为jar包在terminal中用命令运行,然后报错提示:target/TestDemo-1.0-SNAPSHOT.jar中没有主清单属性
在网上查了方法都是说在pom.xml中指定入口,但是我在pom.xml文件里设置好了,我出问题时的pom.xml的配置如下。
<pluginManagement>
<plugins>
<-- 在这里面添加下面的代码-->
</plugins>
</pluginManagement>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.4.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>org.example.App</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
解决办法:
把上面pom.xml中添加的代码添加在 标签外,效果如下:
添加的时候 maven-shade-plugin会标红
报错:Plugin org.apache.maven.plugins:maven-shade-plugin:2.4.3 not found
解决办法:
在 dependencies 标签里面添加下面的依赖
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.4.3</version>
</dependency>
然后maven-resources-plugin也标红
我的解决办法:
直接reload maven,就解决了
然后teminal执行命令,就可以看到Hello world了
命令:
mvn clean package --------------------------> 进行打包的命令
dir target -------------------------->查看生成的jar包的命令
java -jar target/TestDemo-1.0-SNAPSHOT.jar --------------------------------运行jar包的命令