使用具有依赖项 fething 的 oneline 命令行调用运行简单的单文件 java 程序

您好,我想运行一个包含在一个文件中的简单 Java 程序。 javac foo.java && java foo由于必须下载外部依赖项,因此不适合。你知道一种简单的方法来运行它作为单行或以某种理智的方式获取依赖项,比如npm install deppip install dep


MM们
浏览 113回答 3
3回答

素胚勾勒不出你

如果您有外部依赖项,则需要使用它们编译代码。javac -cp .:/path/to/*.jar foo.java然后你可以尝试运行你的类文件,再次使用相同的类路径来包含你需要的其他类通常,尽管 Java 应用程序是作为 JAR 文件而不是类文件打包和分发的。如果你只想要一个独立的脚本,那么你可以看看使用 Groovy

米脂

Java 有一个名为 Maven https://maven.apache.org/的 npm 等价物,使用 Maven 您可以在mvn clean install设置后执行此操作。

炎炎设计

其他人给了你很好但不完整的答案。所以,我会把它放在一起并为你澄清。首先确定你的dependencyies https://mvnrepository.com,然后为每个它的调用:mvn -DgroupId=goo -DartifactId=goo -Dversion=1.0 dependency:get或mvn  -Dartifact=goo:goo:1.0 dependency:get您的所有依赖项现在都位于,$HOME/.m2因此您可以列出格式正确的它们find $HOME/.m2 -name "*.jar" -printf ":%p"用它编译你的程序调用 javac -cp .$(find $HOME/.m2 -name "*.jar" -printf ":%p") foo.java并运行它 java -cp .$(find $HOME/.m2 -name "*.jar" -printf ":%p") foo总而言之,这是您的oneliner:mvn -DgroupId=goo -DartifactId=goo -Dversion=1.0 dependency:get \ && javac -cp .$(find $HOME/.m2 -name "*.jar" -printf ":%p") foo.java \ && java -cp .$(find $HOME/.m2 -name "*.jar" -printf ":%p") foo
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java