Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.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
如何在没有安装maven和java的情况下从gradle执行maven插件_Java_Maven_Gradle_Plugins_Build.gradle - Fatal编程技术网

如何在没有安装maven和java的情况下从gradle执行maven插件

如何在没有安装maven和java的情况下从gradle执行maven插件,java,maven,gradle,plugins,build.gradle,Java,Maven,Gradle,Plugins,Build.gradle,我需要在没有同时安装maven和java的系统上执行maven插件,并且不能在系统上同时安装这两个插件。在寻找方法的过程中,我发现通过使用我们可以构建可执行的二进制文件,甚至不需要gradle来执行,这非常适合我的情况:)。使用gradle有没有办法执行maven插件。提前感谢Maven和Gradle都要求安装java。请参见Gradle是一个构建系统。您可以用它构建任何东西,包括本机二进制文件 是的,您可以从Gradle调用Maven插件,因为Maven插件是用Java编写的,Gradle基于

我需要在没有同时安装
maven
java
的系统上执行
maven插件
,并且不能在系统上同时安装这两个插件。在寻找方法的过程中,我发现通过使用我们可以构建可执行的二进制文件,甚至不需要
gradle
来执行,这非常适合我的情况:)。使用
gradle
有没有办法执行
maven
插件。提前感谢

Maven和Gradle都要求安装java。请参见

Gradle是一个构建系统。您可以用它构建任何东西,包括本机二进制文件

是的,您可以从Gradle调用Maven插件,因为Maven插件是用Java编写的,Gradle基于Groovy,因此基于Java

但这两个事实彼此无关

当然,您也可以使用Gradle(或任何其他构建系统,包括手动将内容组合在一起)来构建包含Java运行时环境的可分发系统。但是,正如前面所说,Java是与您的结果一起提供的。除了java代码外,除了java C++将其他java代码编译成本地二进制文件外,还不能运行Java代码。p>
是的,如果您进行一些粘合,您也可以从本机代码调用Java代码,但是不,如果没有Java,这也是不可行的,因为Java就是这样工作的。

Java对于Maven和Gradle也是必需的

你可以像使用Gradle一样使用

在项目目录中执行此命令(这将创建类似于gradle中的可执行脚本)

要在未安装maven的情况下调用此项目,请使用:

./mvnw GOAL

是的,编译需要Java,但是运行从
gradle
AFAIK创建的本机二进制文件需要Java,gradle只为Java创建可执行的jar文件,而不是本机二进制文件。这似乎符合他们的文档,你可以从Gradle调用Maven插件??为什么不呢?Maven插件只是Java类,所以您可以调用它们。搜索一个与DSL相匹配的Gradle插件通常会更好,但它可能不会失效。谢谢你的回答。你真的试过吗?我很惊讶,因为当我在网上搜索的时候,似乎到处都在说这是不可能的,当然不是,我觉得这样做很可笑,当然也很丑陋。但我不知道为什么它不应该工作,它是一个Java类。您不能像在Maven中一样使用它,只说
apply this Maven plugin
,这就是您发现的,但是使用支持Maven类的Java类应该是可能的。通常情况下,我们没有理由走这种丑陋而繁琐的道路。如果它是一个自定义插件,最好为Gradle重写它,这样使用起来会更好。如果是第三方插件,请搜索替换插件或要求他们提供Gradle插件。你希望使用什么插件。我不完全确定它们是java类这一事实是否足以在Gradle中运行它们。由于它们是插件,可能需要一些maven逻辑才能使它们工作
./mvnw GOAL