Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/402.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
无法在windows中的java maven项目中执行shell脚本_Java_Shell_Maven - Fatal编程技术网

无法在windows中的java maven项目中执行shell脚本

无法在windows中的java maven项目中执行shell脚本,java,shell,maven,Java,Shell,Maven,我的项目pom包含gmaven plugin插件,其中在configuation->properties->script标记下定义了sh脚本位置,当我执行mvn install时,我在我的windows计算机上发现以下错误 java.io.IOException: Cannot run program ": CreateProcess error=193, %1 is not a valid Win32 application 请在下面找到相关插件 <plugin>

我的项目pom包含
gmaven plugin
插件,其中在
configuation->properties->script
标记下定义了sh脚本位置,当我执行
mvn install
时,我在我的windows计算机上发现以下错误

java.io.IOException: 
Cannot run program ": CreateProcess error=193, %1 is not a valid Win32 application
请在下面找到相关插件

        <plugin>
            <groupId>org.codehaus.gmaven</groupId>
            <artifactId>gmaven-plugin</artifactId>
            <version>1.4</version>
            <executions>
                <execution>
                    <phase>initialize</phase>
                    <goals>
                        <goal>execute</goal>
                    </goals>
                    <configuration>
                        <properties>
                            <script>${basedir}/../tools/testfile.sh</script>
                        </properties>
                        <source>
                            //some code for execution
                        </source>
                    </configuration>
                </execution>
            </executions>
        </plugin>

org.codehaus.gmaven
gmaven插件
1.4
初始化
执行
${basedir}/./tools/testfile.sh
//一些执行代码

您正试图在windows计算机上执行shell脚本。window命令不知道如何执行该操作。这可能是造成问题的原因

如果您想测试这一点,只需将shell替换为一个简单的
.bat
文件(窗口可执行文件)

您可以将以下内容添加到
.bat
文件中,然后尝试
mvn安装

echo Test file executed.
echo I am too lazy to write commands again and again.
编辑:通过评论通知OP


.bat文件在执行mvn安装时从成功执行 但如果您只想执行.sh文件,该怎么办。有 无论如何

现在可以选择在windows上执行
.sh
。很少有安装选项,默认情况下安装类似unix的命令提示符

安装后,只需从windows中打开任何
.sh
文件,说
openwith..
,然后选择
GIT BASH
。单击
始终使用此程序
。此步骤将
.sh
与git bash程序关联


另一个常见的解决方案是使用

请提供
gmaven插件的完整配置
可能的基于打字错误,您应该共享pom中相关的部分..bat文件在执行mvn安装命令时成功执行,但如果您只想执行.sh文件怎么办。有办法吗?太好了!这意味着它的windows特定问题。问题是您需要有一个关联的程序来执行
.sh
脚本。用一些选项更新了帖子。因为您实际上是在实际的unix环境中构建和部署的,所以我还建议您忽略这个特定于窗口的问题,在unix机器上进行测试。因为在我的windows机器中,我面临着这个问题。无论如何,thnx解释一下。@MilanRathod您可以在服务器上根据操作系统激活单独的.sh文件和.bat文件以及Maven配置文件。Linux/Unix的配置文件应执行.sh,Windows的配置文件应执行.bat。唯一的问题是重复工作以支持.sh和.bat文件