Я попытался настроить sencha cmd в Maven, используя плагин mojo. Maven конфигурации выглядит следующим образом:Как построить проект ExtJS с Maven
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.3.2</version>
<executions>
<execution>
<id>sencha-compile</id>
<phase>compile</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<!-- Set path to your Sencha Cmd executable-->
<executable>${env.SENCHA_CMD}</executable>
<arguments>
<argument>-sdk</argument>
<argument>${basedir}/src/main/webapp</argument>
<argument>app</argument>
<argument>build</argument>
<argument>--clean</argument>
<argument>--environment</argument>
<argument>${sencha.env}</argument>
<argument>--destination</argument>
<argument>${basedir}/src/main/webapp/build</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
Моя структура проекта выглядит:
Я установил переменную окружения SENCHA_CMD=C:\Users\yura\bin\Sencha\Cmd\5.1.0.26
(в моем случае я использую ОС Windows). Когда я пытаюсь выполнить команду mvn:compile
я получаю ошибку:
Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.3.2:exec (sencha-compile) on project vehicle-store: Command execution failed. Cannot run program "C:\Users\yura\bin\Sencha\Cmd\5.1.0.26" (in directory "C:\Users\yura\Dropbox\Programming\Java\Projects\IntelliJ\VehicleStore"): CreateProcess error=5, Îòêàçàíî â äîñòóïå -> [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.3.2:exec (sencha-compile) on project vehicle-store: Command execution failed. at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:347) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:154) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:582) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214) at org.apache.maven.cli.MavenCli.main(MavenCli.java:158) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) at org.codehaus.classworlds.Launcher.main(Launcher.java:46) Caused by: org.apache.maven.plugin.MojoExecutionException: Command execution failed. at org.codehaus.mojo.exec.ExecMojo.execute(ExecMojo.java:308) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) ... 20 more Caused by: java.io.IOException: Cannot run program "C:\Users\yura\bin\Sencha\Cmd\5.1.0.26" (in directory "C:\Users\yura\Dropbox\Programming\Java\Projects\IntelliJ\VehicleStore"): CreateProcess error=5, Îòêàçàíî â äîñòóïå at java.lang.ProcessBuilder.start(ProcessBuilder.java:1047) at java.lang.Runtime.exec(Runtime.java:617) at org.apache.commons.exec.launcher.Java13CommandLauncher.exec(Java13CommandLauncher.java:58) at org.apache.commons.exec.DefaultExecutor.launch(DefaultExecutor.java:277) at org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecutor.java:334) at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:164) at org.codehaus.mojo.exec.ExecMojo.executeCommandLine(ExecMojo.java:746) at org.codehaus.mojo.exec.ExecMojo.execute(ExecMojo.java:292) ... 22 more Caused by: java.io.IOException: CreateProcess error=5, Îòêàçàíî â äîñòóïå at java.lang.ProcessImpl.create(Native Method) at java.lang.ProcessImpl.(ProcessImpl.java:385) at java.lang.ProcessImpl.start(ProcessImpl.java:136) at java.lang.ProcessBuilder.start(ProcessBuilder.java:1028) ... 29 more
Как я могу исправить ошибку?
Вы [Колумбо] (http://ru.wikipedia.org/wiki/Columbo) (в хорошем смысле). Вы правы, это значение неверно. И вы даете мне понять, что не так. Спасибо за ответ. – fidel150992
Я изменил путь к sencha cmd в maven: ' $ {env.SENCHA_CMD_3_0_0} /sencha.exe ', путь к ext-js' $ {basedir}/src/main/webapp/ext 'и установить мой пользователь учетной записи как администратора в Windows (потому что я получил ошибку: доступ запрещен). В конце концов, я получил новую ошибку: '[ERR] Пожалуйста, убедитесь, что эта команда выполнена из допустимого каталога приложений [ERR] Не удалось найти свойство конфигурации app.dir из sencha.cfg'. Я использую версию ext-js 5.0.1.1255 и версию cmd 5.0.1.231. Может быть, у кого-то есть идеи, как я могу исправить последний? –
fidel150992