添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
霸气的蚂蚁  ·  Error starting ...·  17 小时前    · 
爱健身的红烧肉  ·  Jenkins issue: FATAL: ...·  2 天前    · 
耍酷的莲藕  ·  Facing issue with ...·  5 天前    · 
光明磊落的春卷  ·  How To Install and ...·  2 月前    · 
大鼻子的野马  ·  Paper/Spring MVC ...·  3 月前    · 

解决:You have to use a classifier to attach supplemental artifacts to the project instead of replacing them,jenkins发版[WARNING] JAR will be empty - no content was marked for inclusion!

  • 背景
  • 因为最近是新项目的开发,所以环境特别的不稳定,经常出各种错误,这次记录一下,帮助一下可能帮助到的伙计们

    在21年4月22号的时候,我突然发现我发版发不了了,发版报错:[ERROR] Failed to execute goal org.apache.maven.plugins:maven-jar-plugin:3.1.2:jar (default-jar) on project biz-payment: You have to use a classifier to attach supplemental artifacts to the project instead of replacing them. -> [Help 1]
    经过我向上排查,定位到了报错的模块名。

    再往上定位发现有一个警告提示:[WARNING] JAR will be empty - no content was marked for inclusion!
    在这里插入图片描述

    1. 首先想到的就是百度,先百度了报错提示的【You have to use a classifier to attach supplemental artifacts to the project instead of replacing them】,都是让在打包插件那里加配置,参数,比方加package
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-jar-plugin</artifactId>
      <version>3.0.2</version>
      <executions>
        <execution>
          <id>service-jar</id>
          <phase>package</phase>
          <goals>
            <goal>jar</goal>
          </goals>
          <configuration>
            <classifier>bak</classifier> <!-- 生成deploy-0.0.1-SNAPSHOT-bak.jar -->
            <classesDirectory>${project.build.directory}/webservice/</classesDirectory>
          </configuration>
        </execution>
      </executions>
    </plugin>
    

    或者设置bak,发现都没有用

    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-jar-plugin</artifactId>
      <version>3.0.2</version>
      <executions>
        <execution>
          <id>service-jar</id>
          <phase>package</phase>
          <goals>
            <goal>jar</goal>
          </goals>
          <configuration>
            <classifier>bak</classifier> <!-- 生成deploy-0.0.1-SNAPSHOT-bak.jar -->
            <classesDirectory>${project.build.directory}/webservice/</classesDirectory>
          </configuration>
        </execution>
      </executions>
    </plugin>
    
    1. 百度warning的 JAR will be empty - no content was marked for inclusion。都是说是因为模块里面没有内容,导致报错的,后面我尝试在提示报错的模块加了一个test.java的内容。果然可以正常编译,到下一个空模块才报错,但是因为模块比较多,我不可能每个都去加,比较费时间,加上之前是没有问题的。就是22号之后才有问题的,上次成功发版是在20号。
    2. 我打算对比一下20-22号的代码,看看是否有改动pom文件之类的,导致发版不成功,对比中,以当时的想法是并没有发现有调整打包相关插件
    3. 最后只能用最笨的办法,对比上一次成功的发版,和本次失败的jenkins发版日志有什么不同,最后真让我发现了问题,成功和失败的发版,maven插件的版本号不同
      失败:
      失败
      成功:
      成功
      这下就有了明确的目标。
    4. 这时候再去看pom文件的依赖,发现之前同事为了解决一个问题,引入了
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.2.5.RELEASE</version>
            <relativePath/>
        </parent>
    

    点进去看了一下版本号发现和失败的maven插件一直,所以至此定位到是版本的问题。
    在这里插入图片描述

    1、第一种方法就是将每一个模块都填充一个test.java。就是比较耗费时间
    2、第二种方法,既然是版本的问题,那我们就替换版本号就完了,但是发现引入的是parent的标签,并不能通过标签去排除再重新引入。谷歌,百度查了一些资料。最后是将注释掉

        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.2.5.RELEASE</version>
            <relativePath/>
        </parent>
    
    <dependencyManagement>
        <dependencies>
          <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <version>1.5.4.RELEASE</version>
          </dependency>
          <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>2.2.5.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
          </dependency>
        </dependencies>
      </dependencyManagement>
    

    至此问题解决。
    有问题欢迎伙计们留言讨论,不对的地方也欢迎伙计们指出。

    转载请注明出处

    在使用maven使用package打包的时候有时候会出现如下错误: 这个表示测试失败导致的打包失败,解决方法就是跳过test打包。命令1:mvn package -Dmaven.test.skip=true 命令2:mvn package -DskipTests 命令3:mvn package -Dmaven.test.failure.ignore=true 以上均均可,但有一定的区别 命令1:不执行测试用例,也不会编译测试用例 命令2:不执行测试用例,会编译测试用例(如果编译也报错那么么就使用命令
    生成JAR时出现错误: [WARNING] JAR will be empty - no content was marked for inclusion! 解决方法
    maven 打包; JAR will be empty - no content was marked...; repackage failed: Unable to find main class
    maven打包报错You have to use a classifier to attach supplemental artifacts to the project instead of replacing them. [WARNING]JAR will be empty - no content was marked for inclusion! 15:51:40 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-jar-p
    Exception in thread “main” org.apache.hadoop.mapred.InvalidInputException: Input path does not exist: hdfs://argo/data/resys/mingliang/shop_diary/sparktest/WordCount/input.dat at org.apache.ha
    这个问题可能是因为 Helm 的版本不同导致的。在 Helm v3 中,`--name` 标志已经被弃用,可以使用 `--generate-name` 标志来替代。如果您正在使用 Helm v2,则可以尝试删除 `--name` 标志,因为它不是必需的。 您可以尝试以下命令来安装 Jenkins: helm install my-jenkins stable/jenkins --set Persistence.Enabled=false 这将在您的 Kubernetes 集群中安装一个名为 `my-jenkins` 的 Jenkins 实例,并禁用持久化存储。请注意,如果您已经使用了 `my-jenkins` 这个名称安装了 Jenkins,则需要先删除该实例,然后再重新安装。
    Maxxxxxxxx666: 补充一下,可能因为加了WWW_AUTHENTICATE的响应内容导致ios Safari浏览器在token失效的时候,会报错:No provider found for class org.springframework.security.authentication.UsernamePasswordAuthenticationToken 处理办法是nginx手动清空掉手机端WWW_AUTHENTICATE的响应参数 google pay(谷歌支付) 开发者账号配置的坑 Maxxxxxxxx666: 表情包能帮到你就好 google pay(谷歌支付) 开发者账号配置的坑 mldxs: 401原因是因为我解决403问题的时候,重新配置了权限。google以后发现,需要重新保存应用内产品,即可解决此问题。 这句话很中用 解决打开GooglePlay商店网页地址而非google商店问题 CSDN-Ada助手: 恭喜你写完了第7篇博客!题目“解决打开GooglePlay商店网页地址而非Google商店问题”听起来非常有趣。通过你的博客,我了解到了解决这个问题的方法,这对于经常遇到这个问题的人来说非常有帮助。 我想给你一些建议,希望对你的下一篇博客有所帮助。我认为你可以考虑分享一些关于应用商店的其他常见问题的解决方法,或是介绍一些优质的应用商店替代品,这样读者们就能有更多选择。同时,你也可以分享一些在使用应用商店时的注意事项,以帮助读者们更好地保护他们的设备和个人信息。 再次感谢你的分享,并期待你未来更多优质内容的创作!不过,我也希望你能保持谦虚,虚心接受读者们的反馈和建议,不断提升自己的写作技巧和内容质量。加油! 解决Navicat打开mysql:Client does not support authentication protocol requested by server CSDN-Ada助手: 恭喜您写出了第8篇博客!标题“解决:Client does not support authentication protocol requested by server”看起来非常有趣。我很高兴看到您持续创作的努力。在下一篇博客中,我建议您可以探讨一下不同的身份验证协议,并分享一些解决此问题的实用技巧。谦虚地说,我相信您的经验和见解将为我们带来更多的启示。期待您未来的创作!