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

时间:2023-01-12 15:12:51

本来在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&colon; java&period;util&period;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运行时提示&OpenCurlyDoubleQuote;没有主清单属性”

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

  5. eclipse maven &period;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,运行却提示没有&OpenCurlyDoubleQuote;没有主清单属性”

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

  8. mvn clean package&colon;&lbrack;ERROR&rsqb; Failed to execute goal org&period;apache&period;maven&period;plugins&colon;maven-surefire-plugin&colon;2&period;12

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

  9. maven执行&quot&semi;mvn clean package&quot&semi; 命令报错

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

随机推荐

  1. java集合类深入分析之Queue篇

    简介 Queue是一种很常见的数据结构类型,在java里面Queue是一个接口,它只是定义了一个基本的Queue应该有哪些功能规约.实际上有多个Queue的实现,有的是采用线性表实现,有的基于链表实现 ...

  2. 项目管理工具之Git使用说明

    1.下载Git客户端工具 http://msysgit.github.com/ 2.安装msysgit 下一步 同意GNU协议 选择安装位置 选择TrueType  Front,下一步 不创建启动文件 ...

  3. poj1420 拓扑序

    题意:给出一个表格,一部分单元格是给定的数字,而另一部分单元格则是一个式子,表示是其他一些单元格的和,让你输出最后计算出的所有格子的数. 因为有些格子需要其他格子先计算出来,所以计算顺序是按照拓扑序的 ...

  4. Xamarin 后台持续定位与提示

    IOS后台持续运行对于c#程序员不懂得ios后台机制的是存在一定困扰的.特别是ios9过后对后台和安全进行了更严格的限制 好了废话不多说 一 设置info.plist权限信息 参考: 后台模式:htt ...

  5. CRM客户关系管理系统(九)

    第九章.filter_horizontal优化和kingadmin删除功能 9.1.filter_horizontal优化 (1)添加Choose ALL 和Remove ALL table_obj_ ...

  6. IntelliJ IDEA 的默认文件编码

    建好项目,首先注意改项目默认编码 File->Settings(快捷键Ctrl+Alt+S)->Editor->File Encodings File->Other Setti ...

  7. 译:Dataiku 白皮书之《在银行和保险行业应用数据科学》

    原文链接:Data Science For Banking & Insurance 如果不能正常访问,请点击备份获取. 在银行和保险行业应用数据科学 互联网巨头和金融技术创业时代的求生和发展 ...

  8. 深入浅出Java探针技术2---java字节码生成框架ASM、Javassist和byte buddy的使用

    目前Java字节码生成框架大致有ASM.Javassist和byte buddy三种 ASM框架介绍及使用 1.ASM介绍 ASM是一种Java字节码操控框架,能够以二进制形式修改已有的类或是生成类, ...

  9. random&lowbar;select

    package sorttest;   //expected and worst running time is O(n),asuming that the elements are distinct ...

  10. 2018&period;09&period;10 bzoj1597&colon; &lbrack;Usaco2008 Mar&rsqb;土地购买(斜率优化dp)

    传送门 终究还是通宵了啊... 这是一道简单的斜率优化dp. 先对所有土地排序,显然如果有严格小于的两块土地不用考虑小的一块. 于是剩下的土地有一条边单增,另外一条单减. 我们假设a[i]是单减的,b ...