Maven可以重新签署依赖关系吗?

 冒泡鱼的快乐2011 发布于 2023-02-04 19:08
  • jar
  • 我正在使用我maven-jarsigner-plugin的阴影超级罐子.我确实需要在自己的jar中分发一些依赖项,并希望从Maven仓库获取这些jar,清除它们的任何现有签名,并使用我自己的证书进行签名.

    有没有Maven插件可以做到这一点,或者我会涉及一些Ant插件hackery?

    1 个回答
    • 结果maven-jarsigner-plugin可以使用它的配置元素重新设置现有的罐子removeExistingSignatures.很简单!

      我使用maven-dependency-plugingenerate-resources阶段中将工件复制到.war项目中,然后在process-resources阶段中对它们进行签名.

      <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-dependency-plugin</artifactId>
          <version>2.8</version>
          <executions>
              <execution>
                  <id>copy</id>
                  <phase>generate-resources</phase>
                  <goals>
                      <goal>copy</goal>
                  </goals>
                  <configuration>
                      <artifactItems>
                          <artifactItem>
                              <groupId>org.lwjgl.lwjgl</groupId>
                              <artifactId>lwjgl-platform</artifactId>
                              <version>2.9.0</version>
                              <classifier>natives-osx</classifier>
                              <type>jar</type>
                              <overWrite>true</overWrite>
                              <outputDirectory>src/main/webapp/</outputDirectory>
                              <destFileName>lwjgl-platform-natives-osx.jar</destFileName>
                          </artifactItem>   
                      </artifactItems>        
                      <outputDirectory>src/main/webapp</outputDirectory>
                      <overWriteReleases>true</overWriteReleases>
                      <overWriteSnapshots>true</overWriteSnapshots>
                  </configuration>
              </execution>
          </executions>
      </plugin>
      
      <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jarsigner-plugin</artifactId>
          <version>1.2</version>
          <executions>
              <execution>
                  <id>sign</id>
                  <phase>process-resources</phase>
              <goals>
                  <goal>sign</goal>
                  </goals>
          </execution>
          </executions>
          <configuration>
              <keystore>${basedir}/path/to/my.keystore</keystore>
              <alias>alias</alias>
              <storepass>password</storepass>
              <keypass>password</keypass>
              <verbose>true</verbose>
              <archiveDirectory>src/main/webapp/</archiveDirectory>
              <processMainArtifact>false</processMainArtifact>
              <removeExistingSignatures>true</removeExistingSignatures>
          </configuration>
      </plugin>
      

      2023-02-04 19:10 回答
    撰写答案
    今天,你开发时遇到什么问题呢?
    立即提问
    热门标签
    PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有