可以通过在本地存储库中安装jar-File,或者提供指向本地jar的链接,并将范围设置为"system“,从而在pom.xml中包含一个本地文件。如果我包含一个胖jar (=包含所有传递依赖项的jar ),会发生什么?Maven是否仍然能够正确地检测依赖冲突,我是否仍然能够排除我的“胖jar依赖”的一些传递依赖关系?
问题是,我正在处理一个遗留软件项目,它以前没有使用任何构建的工具/依赖关系管理工具(所以所有所需的jars都只是下载并添加到类路径中)。我正在尝试将其转换为Maven项目。对于所有的开源依赖项来说,这并不是非常困难的(因为几乎所有的依赖项都可以在Maven Central
我创建了一个java应用程序来读取Gmail地址。当我从IDE (Intellij)执行脚本时,脚本运行得很好。而是生成一个jar文件并尝试执行该jar:
java -jar my-jar-file.jar
我有这个错误:
java.lang.NoClassDefFoundError: javax/mail/Part
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2625)
at java.lang.Class.getMe
尝试执行我构建的Corda "fat jar“RPC客户端,但它总是失败,出现以下错误:
Error: Could not find or load main class,
我已经确认MANIFEST.MF包含正确的Main-Class属性,并且这个类包含在jar中。
我的build.gradle的相关部分是:
jar {
from {
configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
}
}
使用java -jar myjar.jar执行jar
我一直试图在heroku上部署一个java gradle应用程序,我可以让它在本地使用heroku local部署,但是当使用heroku open时,它表示应用程序错误。
日志上说
2022-10-10T03:22:06.151325+00:00 heroku[web.1]: Starting process with command `java -jar app/build/libs/app.jar`
2022-10-10T03:22:07.027867+00:00 app[web.1]: Setting JAVA_TOOL_OPTIONS defaults based on dyno s