gpt4 book ai didi

java - maven 是否有等效的 sbt-start-script?

转载 作者:行者123 更新时间:2023-11-30 11:22:08 24 4
gpt4 key购买 nike

我之前为 sbt 使用过这个插件:sbt-start-script ( https://github.com/sbt/sbt-start-script )。 maven 是否有等效的工具?我想要一些我可以在命令行上运行的东西,它会使用正确的类路径来执行我的 java 程序。 sbt-start-script 通过为我生成一个我在命令行上执行的 shell 脚本来做到这一点:

./target/start

在那个 shell 脚本中,它基本上调用了

java -cp xxxx example.Main

其中 xxx 是我机器上的完整类路径。

我知道我可以直接用maven来执行我的java程序

mvn -Dexec.mainClass="example.Main"

但是它在与 maven 相同的 JVM 中执行。我有兴趣用它自己的 jvm 启动我的程序。

我不想将我的整个项目及其所有依赖项打包到一个可执行 jar 文件中,我宁愿使用 maven 知道的类路径。

最佳答案

好吧,我想我可以手写这个脚本来做正确的事情:

#!/bin/bash

# directory of this script
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

mvn -o -f $DIR/pom.xml -q dependency:build-classpath -Dmdep.outputFile="$DIR/target/classpath.txt"

java -cp $DIR/target/classes:`cat $DIR/target/classpath.txt` example.Main $@
exitcode=$?
exit $exitcode

这似乎可行,但我不得不手写。每次我构建时,sbt-start-script 都会生成一个类似这样的脚本。如果有人对此有更好的解决方案,我仍然很感兴趣。

关于java - maven 是否有等效的 sbt-start-script?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21874133/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com