Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Maven jarsigner插件在发布期间不工作_Java_Maven_Maven 3_Maven Release Plugin_Jarsigner - Fatal编程技术网

Java Maven jarsigner插件在发布期间不工作

Java Maven jarsigner插件在发布期间不工作,java,maven,maven-3,maven-release-plugin,jarsigner,Java,Maven,Maven 3,Maven Release Plugin,Jarsigner,我需要对发布的JAR进行签名,我想用maven jarsigner插件进行签名。所以我加了一句: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jarsigner-plugin</artifactId> <version>1.2</ver

我需要对发布的JAR进行签名,我想用maven jarsigner插件进行签名。所以我加了一句:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jarsigner-plugin</artifactId>
            <version>1.2</version>
            <configuration>
                <archive>target/${myarchive}.jar</archive>
                <keystore>${key.location}</keystore>
                <storepass>${keypass}</storepass>
                <alias>${key.alias}</alias>
                <verbose>true</verbose>
            </configuration>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>sign</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
但当我运行
release:prepare release:perform
时,我看到:

Configuring mojo org.apache.maven.plugins:maven-jarsigner-plugin:1.2:sign from plugin realm ClassRealm[plugin>org.apache.maven.plugins:maven-jarsigner-plugin:1.2, parent: sun.misc.Launcher$AppClassLoader@553f5d07]
[INFO] [DEBUG] Configuring mojo 'org.apache.maven.plugins:maven-jarsigner-plugin:1.2:sign' with basic configurator -->
[INFO] [DEBUG]   (f) archive = myarchive
[INFO] [DEBUG]   (f) arguments = []
[INFO] [DEBUG]   (f) processAttachedArtifacts = true
[INFO] [DEBUG]   (f) processMainArtifact = true
[INFO] [DEBUG]   (f) project = MavenProject: com.playtech.chat:ums_supportchatapplet:12.4.0.1 @ *****\pom.xml
[INFO] [DEBUG]   (f) removeExistingSignatures = false
[INFO] [DEBUG]   (f) skip = false
[INFO] [DEBUG]   (f) verbose = true
[INFO] [DEBUG] -- end configuration --
因此,除了
archive
属性之外,其他属性在发布过程中都会被忽略


非常感谢您的任何想法。

在cmd提示符下输入以下命令:

keytool -list -keystore [keystore location here]
“myalias”别名是否在该特定密钥库中?如果不是的话,你需要

我能看到的另一件可能出错的事情是,该密钥库的密码是否不正确。

找到了答案

简而言之,
-D
参数不会从命令行传递到发布插件。
应使用
-Darguments=


有关更多详细信息,请阅读帮助我解决此问题的文章。

您是否阅读了整个问题?您是否看到在第二种情况下,密码根本没有传递给插件?alias都没有?你在问题的末尾提到“任何想法都受到高度赞赏”,显然他们不受赞赏,因为你觉得有必要否决任何此类想法。我如何知道您尚未在密钥库中创建别名?对那些试图帮助你的人要有一些礼貌。理解你糟糕的英语已经是一种努力了。如果我给出一个答案,你可能会投反对票的另一个想法是,你的插件的执行处于打包阶段。发布:准备发布:在包阶段的下游执行目标吗?如果不是的话,插件将永远不会被执行。这就解释了你的安装为什么有效。有什么相关的想法吗。不仅仅是你脑子里闪过的一些想法。如果你阅读了整个问题,你会发现它通常是有效的,但在发布期间不会,所以密钥库必须是好的。插件已经执行。否则它就不会失败。它甚至打印调试信息,我把它放在原始问题中。
keytool -list -keystore [keystore location here]