用Maven给一个Maven工程打包,使用阿里云镜像解决mvn clean package出错的问题,使用plugin解决没有主清单属性的问题
本来在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解决没有主清单属性的问题的更多相关文章
- maven项目新检出后不编译爬坑记 及 mvn clean package报错 WagonTransporterFactory: java.util.NoSuchElementException 异常【我】
从SVN新检出一个maven项目,配置好后,发现项目无法编译(只有一个test包中的代码显示编译报错,其他所有包中的代码都不编译,也不报错), 先注释掉报错的test包中的所有内容, 用Eclipse ...
- Maven命令行使用:mvn clean package(打包)
先把命令行切换到Maven项目的根目录,比如:/d/xxxwork/java/maven-test,然后执行命令: mvn clean package 执行结果如下: [INFO] Scanning ...
- SpringBoot通过maven打包成jar,设定主清单属性。
文章目录 原来普通的jar包一直是 <build> <plugins> <plugin> <groupId>org.apache.maven.plugi ...
- Maven 项目生成jar运行时提示“没有主清单属性”
新建了一个Maven的项目,mvn compile和mvn package后生成了jar文件,然后直接到target目录下去执行java -jar xxx.jar命令运行jar包时出现了"x ...
- eclipse maven .jar中没有主清单属性
报错环境: windows系统eclipse maven 打包jar包后, 运行 java -jar 报错 E:\My_java\mysql\target>java -jar original- ...
- Maven命令行使用 mvn clean package
先把命令行切换到Maven项目的根目录,比如:/d/xxxwork/java/maven-test,然后执行命令: mvn clean package 执行结果如下: [INFO] Scanning ...
- maven生成jar,运行却提示没有“没有主清单属性”
转自:http://www.jianshu.com/p/fd5bd8657852 修改pom.xml <project xmlns="http://maven.apache.org/P ...
- 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 ...
- maven执行"mvn clean package" 命令报错
昨天利用mvn打包,执行程序'mvn clean package' 命令,发现打包失败 问题描述 具体看代码 发信tomcat下的log 清除不掉.为什么呢?忽然想起来我的项目服务还起着,于是我把服务 ...
随机推荐
- 2020-04-08:谈一下IOC底层原理
Ioc的底层原理 (1)xml配置文件 (2)dom4j解析xml (3)工厂设计模式 (4)反射
- C#设计模式之14-命令模式
命令模式(Command Pattern) 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/413 访问. 命令模式属于行 ...
- C#LeetCode刷题之#551-学生出勤纪录 I(Student Attendance Record I)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3953 访问. 给定一个字符串来代表一个学生的出勤纪录,这个纪录仅 ...
- C#LeetCode刷题之#234-回文链表(Palindrome Linked List)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3905 访问. 请判断一个链表是否为回文链表. 输入: 1-> ...
- C#LeetCode刷题之#888-公平的糖果交换(Fair Candy Swap)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3758 访问. 爱丽丝和鲍勃有不同大小的糖果棒:A[i] 是爱丽丝 ...
- Webpack 定义process.env的时机
定义 process.env的时机 如果已经提取了公共配置文件 webpack.common.js 分别定义了开发配置webpack.dev.js和生产配置webpack.prod.js 在webpa ...
- Vue 函数式组件 functional
函数式组件 无状态 无法实例化 内部没有任何生命周期处理函数 轻量,渲染性能高,适合只依赖于外部数据传递而变化的组件(展示组件,无逻辑和状态修改) 在template标签里标明functional 只 ...
- 二叉搜索树 [四边形不等式优化区间dp]
二叉搜索树 [四边形不等式优化区间dp] 题目描述 有 \(n\) 个结点,第 \(i\) 个结点的权值为 \(i\) . 你需要对它们进行一些操作并维护一些信息,因此,你需要对它们建立一棵二叉搜索树 ...
- 编译hotspot8
编译hotspot8 ubuntu desktop 18 全新准备与编译过程再记录下: # 建议使用此gcc和g++版本,过高版本比如gcc7或引发编译报错 sudo apt-get install ...
- 关于初次使用Thymeleaf遇到的问题 2020-08-11
关于初次使用Thymeleaf遇到的问题 环境: IDEA :2020.1 Maven:3.5.6 SpringBoot: 2.3.2 原做法: 按照视频教程,导入依赖,并修改报的版本为3.0.9,适 ...