Мы разрабатываем наши собственные плагины Eclipse, используемые нашим 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]
Кто-нибудь когда-нибудь сталкивался с этим? Если да, то как вы решили проблему?
Обратите внимание, что я действительно видел этот вопрос и другие связанные вопросы, прежде чем принимать решение, но ответ Брэда Мейса не применим к моему делу как "ошибка CreateProcess = 206, имя файла или расширение слишком длинное" генерируется Proguard, а не Javadoc. Первоначально, я думаю (исправьте меня, если я ошибаюсь), что один из 7 вариантов, заданных espinchi или их вариант, может работать, но я не уверен, какой из них. Чтобы сообщить вам свои ограничения при определении решения:
- Я не уверен, что все классные пути в этом конкретном плагине действительно, поскольку это было разработано кем-то еще много, много лет назад, поэтому я не думаю, что смогу связаться с разработчиком. Это делает я колеблюсь, чтобы уменьшить classpaths из страха, что это может на самом деле больше вреда, чем пользы.
- Я не могу использовать переключатель для использования опции IntelliJ, поскольку эта проблема возникла в командной строке Windows при выполнении установки mvn а не в Eclipse IDE.
- Я думаю, что другие варианты слишком утомительны для меня. Я надеюсь, что там будет более простое решение.
Для справки ниже приведен фрагмент, связанный с Proguard, из моего файла pom:
<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>