本来在STS里做了一个极简Maven工程,内中只有一个Main方法的Java类,然后用新装的Maven3.6.3给它打包。

结果,Maven罢工,输出如下:

C:\personal\programs\ColoredText>mvn clean package
[INFO] Scanning for projects...
[INFO]
[INFO] -------------------------< com.hy:ColoredText >-------------------------
[INFO] Building ColoredText 0.0.-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 22.024 s
[INFO] Finished at: --28T09::+:
[INFO] ------------------------------------------------------------------------
[ERROR] Plugin org.apache.maven.plugins:maven-clean-plugin:2.5 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-clean-plugin:jar:2.5: Could not transfer artifact org.apache.maven.plugins:maven-clean-plugin:pom:2.5 from/to central (https://repo.maven.apache.org/maven2): Transfer failed for https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.pom: Connect to repo.maven.apache.org:443 [repo.maven.apache.org/151.101.52.215] failed: Connection timed out: connect -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help ] http://cwiki.apache.org/confluence/display/MAVEN/PluginResolutionException

本着互联网就是知识库的理念,我开启了度娘查找模式,功夫不负有心人,在度娘的帮助下,短短几秒我就找到了解决方案:

  <mirrors>
<!--配置阿里云maven私有仓库(即配阿里私服)-->
<mirror>
<id>alimaven</id>
<mirrorOf>*</mirrorOf>
<url>https://maven.aliyun.com/repository/central</url>
</mirror>

</mirrors>

上图深蓝色文字就是大招,把这段文字拷贝到Maven_HOME/conf/settings.xml(在我本机是C:\maven3.6.3\conf\settings.xml)里面的mirrors节点里就好了。

注意我是在家中电脑配置mirror节点,是不需要代理就能上网的环境,诸位如果公司电脑受限还需要设置代理,要不阿里云镜像还是访问不到。

之后再打包就一路绿灯了,输出一大堆文字,我截取了最后一部分贴出来:

us-interpolation-1.15.jar ( B at  B/s)
Downloaded from alimaven: https://maven.aliyun.com/repository/central/org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.jar (0 B at 0 B/s)
Downloaded from alimaven: https://maven.aliyun.com/repository/central/org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.jar (0 B at 0 B/s)
Downloaded from alimaven: https://maven.aliyun.com/repository/central/commons-lang/commons-lang/2.1/commons-lang-2.1.jar (0 B at 0 B/s)
[INFO] Building jar: C:\personal\programs\ColoredText\target\ColoredText-0.0.-SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 33.497 s
[INFO] Finished at: --28T09::+:
[INFO] ------------------------------------------------------------------------

然后,我兴致勃勃地准备运行程序,结果当头被浇一盆冷水:

C:\personal\programs\ColoredText>cd target

C:\personal\programs\ColoredText\target>java -jar ColoredText-0.0.-SNAPSHOT.jar
ColoredText-0.0.-SNAPSHOT.jar中没有主清单属性

我又在百度上查了一下,居然要我用winrar打开jar包修改Manifest.mf文件,添加“Main-class:类名”进去,这也太麻烦了,难道每次打出包来还要手动修改一次,没道理啊,于是我又在度娘的指引下找到了解决方案:

    <build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<!-- 此处为程序主入口 -->
<mainClass>com.ufo.hy.EntryPoint</mainClass>
</manifest>
</archive>
</configuration>
</plugin>

</plugins>
</build>

上面蓝色部分就是解决方案,设置此段到pom.xml后,指定Main-class的任务将由Maven代行,如果你的pom.xml中没有build节点你需要把整段都拷贝过去。

再次打包执行,久违的hello world就出现在控制台了。

ompress-1.11.jar ( kB at  kB/s)
[INFO] Building jar: C:\personal\programs\ColoredText\target\ColoredText-0.0.-SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 21.914 s
[INFO] Finished at: --28T10::+:
[INFO] ------------------------------------------------------------------------ C:\personal\programs\ColoredText>cd target C:\personal\programs\ColoredText\target>java -jar ColoredText-0.0.1-SNAPSHOT.jar
Hello world
! C:\personal\programs\ColoredText\target>

以上代码工程链接在此:

https://files.cnblogs.com/files/xiandedanteng/ColoredText2020-03-28-1.zip

到此,打包并执行jar的任务就完成了。

喝水不忘挖井人,我找到的解决方案出处是:

https://blog.csdn.net/wudinaniya/article/details/98116734

https://www.cnblogs.com/wayoufeidie/p/11825773.html

在此感谢两位作者的付出。

--2020年3月28日--

用Maven给一个Maven工程打包,使用阿里云镜像解决mvn clean package出错的问题,使用plugin解决没有主清单属性的问题的更多相关文章

  1. maven项目新检出后不编译爬坑记 及 mvn clean package报错 WagonTransporterFactory: java.util.NoSuchElementException 异常【我】

    从SVN新检出一个maven项目,配置好后,发现项目无法编译(只有一个test包中的代码显示编译报错,其他所有包中的代码都不编译,也不报错), 先注释掉报错的test包中的所有内容, 用Eclipse ...

  2. Maven命令行使用:mvn clean package(打包)

    先把命令行切换到Maven项目的根目录,比如:/d/xxxwork/java/maven-test,然后执行命令:  mvn clean package 执行结果如下: [INFO] Scanning ...

  3. SpringBoot通过maven打包成jar,设定主清单属性。

    文章目录 原来普通的jar包一直是 <build> <plugins> <plugin> <groupId>org.apache.maven.plugi ...

  4. Maven 项目生成jar运行时提示“没有主清单属性”

    新建了一个Maven的项目,mvn compile和mvn package后生成了jar文件,然后直接到target目录下去执行java -jar xxx.jar命令运行jar包时出现了"x ...

  5. eclipse maven .jar中没有主清单属性

    报错环境: windows系统eclipse maven 打包jar包后, 运行 java -jar 报错 E:\My_java\mysql\target>java -jar original- ...

  6. Maven命令行使用 mvn clean package

    先把命令行切换到Maven项目的根目录,比如:/d/xxxwork/java/maven-test,然后执行命令:  mvn clean package 执行结果如下: [INFO] Scanning ...

  7. maven生成jar,运行却提示没有“没有主清单属性”

    转自:http://www.jianshu.com/p/fd5bd8657852 修改pom.xml <project xmlns="http://maven.apache.org/P ...

  8. mvn clean package:[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12

    原文地址:https://www.cnblogs.com/lxcy/p/8279899.html 事故现场: 解决办法: 一是命令行, mvn clean package -Dmaven.test.s ...

  9. maven执行"mvn clean package" 命令报错

    昨天利用mvn打包,执行程序'mvn clean package' 命令,发现打包失败 问题描述 具体看代码 发信tomcat下的log 清除不掉.为什么呢?忽然想起来我的项目服务还起着,于是我把服务 ...

随机推荐

  1. 操作属性、操作样式 - DOM编程

    1. 操作属性 1.1 HTML 属性与 DOM 属性的对应 <div> <label for="username">User Name: </lab ...

  2. sql server 存储过程的(包含事务)方法里面,采用游标循环,批量删除(修改)数据

    sqlserver 数据库 1.下面是完整的 在存储过程中 使用游标进行 循环删除的实例(包括存储过程中,事务的应用) 2.有问题的话,欢迎随时讨饶我,相信大家看下注释应该就能明白了,很简单的一个,小 ...

  3. redis(二)redis的主从模式和集群模式

    redis(二)redis的主从模式和集群模式 主从模式 集群模式 主从模式 redis的主从模式,指的是针对多台redis实例时候,只存在一台主服务器master,提供读写的功能,同时存在依附在这台 ...

  4. 关于import android.support.v4.app.ContextCompat;找不到contextcompat的解决方法

    android迁移到了androidx,那么相关库的import就有问题了,需要转变为androidx的,这里比如 import android.support.v4.app.ContextCompa ...

  5. 第二次作业:卷积神经网络 part 2

    第二次作业:卷积神经网络 part 2 问题总结 输出层激活函数是否有必要? 为什么DnCNN要输出残差图片?图像复原又该如何操作? DSCMR中的J2损失函数效果并不明显,为什么还要引入呢? 代码练 ...

  6. 用 cgo 生成用于 cgo 的 C 兼容的结构体

    假设(并非完全假设,这里有 demo)你正在编写一个程序包,用于连接 Go 和其它一些提供大量 C 结构体内存的程序.这些结构可能是系统调用的结果,也可能是一个库给你提供的纯粹信息性内容.无论哪种情况 ...

  7. three.js 着色器材质之纹理

    今天郭先生说一说如何在three.js着色器中添加纹理,先看看今天要完成的效果,在线案例请点击博客原文. 这里我们分别引入三个纹理,分别是地球的表面纹理,对应的海拔灰度图,和云朵的纹理.使用表面纹理还 ...

  8. 用Java制作斗地主

    首先,按照斗地主规则,完成洗牌发牌的动作.如图: 具体规则: 1. 组装54张扑克牌 2. 将54张牌顺序打乱 3. 三个玩家参与游戏,三人交替摸牌,每人17张牌,最后三张留作底牌. 4. 查看三人各 ...

  9. C#LeetCode刷题之#720-词典中最长的单词(Longest Word in Dictionary)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/4120 访问. 给出一个字符串数组words组成的一本英语词典.从 ...

  10. C#图解教程(第四版)—01—类型,存储,变量

    3.1 如何广泛的描述C#程序 可以说C程序是一组函数和数据类型,C++程序是一组函数和类,然而C#程序是一组类型声明 3.2 类型 可以把类型想象成一个用来创建数据结构的模板,模板本身并不是数据结构 ...