【发布时间】:2015-06-28 07:28:00
【问题描述】:
我们正在开发我们自己的 Eclipse 插件 jar,供我们基于 Eclipse 的应用程序使用。我们目前使用proguard-maven-plugin 2.0.8 版来混淆它们。但是,在某些插件上运行mvn install 时,我们目前遇到以下错误:
[INFO] ---------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ---------------------------------------------------------------------
[INFO] Total time: 1:34.297s
[INFO] Finished at: Tue Apr 21 16:03:51 SGT 2015
[INFO] Final Memory: 88M/210M
[INFO] ---------------------------------------------------------------------
[ERROR] Failed to execute goal com.github.wvengen:proguard-maven-plugin:2.0.8:proguard (default) on project com.x.y: Execution default of goal com.github.wvengen:proguard-maven-plugin:2.0.8:proguard failed: java.io.IOException: Cannot run program "C:\Program Files (x86)\Java\jdk1.7.0_55\jre\bin\java.exe": CreateProcess error=206, The filename or extension is too long -> [Help 1]
有人遇到过这种情况吗?如果有,您是如何解决问题的?
请注意,在决定询问之前,我实际上已经看到了this question 和其他相关问题,但 Brad Mace 的答案不适用于我的情况,因为生成了“CreateProcess error=206, The filename or extension is too long”由 Proguard 而不是 Javadoc。最初,我认为(如果我错了,请纠正我)espinchi 给出的 7 个选项中的一个或它们的变体可能会起作用,但我不确定是哪一个。只是为了让您知道我在确定解决方案时的限制:
- 我不确定这个特定插件中的所有类路径是否都是 有效,因为这已经由其他人开发了很多很多年 以前,所以我认为我仍然无法联系开发人员。这使得 我犹豫要减少类路径,因为担心它实际上可能 弊大于利。
- 我无法使用切换到“使用 IntelliJ”选项,因为在执行 mvn install 时在 Windows 命令行上出现此问题 而不是在 Eclipse IDE 中。
- 我认为其他选项对我来说太乏味了。我希望有一个更简单的解决方案。
作为参考,下面是我的 pom 文件中与 Proguard 相关的 sn-p:
<build>
<plugins>
<plugin>
<groupId>com.github.wvengen</groupId>
<artifactId>proguard-maven-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>proguard</goal>
</goals>
</execution>
</executions>
<configuration>
<maxMemory>1024m</maxMemory>
<proguardInclude>${basedir}/proguard.conf</proguardInclude>
<libs>
<lib>${java.home}/lib/rt.jar</lib>
</libs>
<exclusions>
<exclusion>
<groupId>com.company.package</groupId>
</exclusion>
</exclusions>
</configuration>
</plugin>
</plugins>
</build>
【问题讨论】:
-
实际上,在我发布我的问题之前,我已经看过那篇文章。 Brad Mace 的答案'你可以添加 useexternalfile="yes"' 不适用于我的情况。我认为 espinchi 提出的 7 个选项中至少有 1 个可以解决我的问题,但我不确定是哪一个。
-
然后,更新您的问题以获得帮助以确定 7 个选项中的哪一个对您的情况有效,或者转到该问题并询问 cmets?事实上,您提出的问题与重复出现的问题相同。
-
您是否尝试过在调试模式下运行 maven
mvn -X ...获取更多信息? -
您是否可能遇到文件路径长度的 255 个字符限制?
标签: java eclipse maven proguard