在idea上可运行,在服务器上运行其jar包报错
希望能正常运行
出现该问题的常见原因及解决方法如下:
maven-assembly-plugin
或maven-shade-plugin
正确打包了所有依赖jar tvf your.jar | grep .class
确认依赖类存在java -jar your.jar
时观察NoClassDefFoundError的具体提示java -version
对比本地和服务器的输出<maven.compiler.target>1.8</maven.compiler.target>
getResourceAsStream()
代替File路径访问资源Maven配置示例:
<manifest>
<mainClass>com.example.MainClass</mainClass>
</manifest>
<arg>-Dfile.encoding=UTF-8</arg>
排查步骤建议:
java -version
jar tf your.jar
java -jar your.jar 2>&1 | tee error.log
ldd
命令检查native依赖(如果涉及JNI)请提供具体的错误信息(如ClassNotFoundException内容),可以更精准定位问题原因。
我需要在服务器上运行一个java jar,以便在两个应用程序之间进行通信。我写了两个shell脚本来运行它,但是一旦我启动了这个脚本,我就不能关闭/终止这个进程。如果我按ctrlC或关闭控制台,服务器将关闭。有人能帮我如何修改这个脚本以作为普通服务器运行吗?
我有一个JavaFX应用程序,它调用一些JNI代码,使用预加载程序jar,并使用JDK1.7编译。现在,当我使用JRE7在另一台计算机上运行jar时,通过: 双击jar:它启动,但无法加载包含库的JNI代码,因此被卡住。 有人能告诉我这三种情况有什么不同吗?
问题内容: 我已经编写了一个在标准虚拟主机Linux解决方案上运行的Java服务器应用程序。该应用程序始终在运行,以监听套接字连接并为其创建新的处理程序。它是客户端服务器应用程序的服务器端实现。 我启动它的方法是将其包含在服务器的启动 rc.local 脚本中。但是,一旦启动,我不知道如何访问它以停止它以及是否要安装更新,因此我必须重新启动服务器才能重新启动应用程序。 在Windows PC上,对
我编写了一个Java服务器应用程序,它运行在一个标准的虚拟主机Linux解决方案上。应用程序一直运行,监听套接字连接,并为它们创建新的处理程序。它是客户端-服务器应用程序的服务器端实现。 我启动它的方式是将它包含在服务器的start up rc.local脚本中。但是一旦启动我不知道如何访问它,停止它,如果我想安装一个更新,所以我必须重新启动服务器,以便重新启动应用程序。 在windows PC上
该路径引用JRE的副本,我将用runnable.jar将其绑定到安装程序中 运行。bat文件会导致以下错误: 当我使用eclipse将应用程序导出为runnable.jar时,我选择“将所需的库打包到生成的JAR中”
问题内容: 假设我在同一台计算机上同时运行两个Java程序。这些程序将在单个JVM实例中运行还是在两个不同的JVM实例中运行? 问题答案: 如果您使用命令(从命令行)开始每个命令,它们将作为完全独立的JVM运行。 “程序”可以作为在一个JVM中运行的单独线程启动。
直接在IDEA运行Jar包没问题,但用java -jar 的命令就报错是为什么? 对应代码: 报错原因如下,是在创建Redisson客户端的时候报错: 网上说是JDK9以上多模块的原因,但我是JDK8啊
问题内容: 我在CI和CD上创建了Jenkinsfile,Dockerfile,Dockerfile.test到CI和CD,在GitHub上构建了我的服务器API,我在Jenkins上构建了该构建,并且构建成功,并且我的docker在Jenkinsfile阶段也在容器上运行,我创建了用于测试和部署在服务器API上,并使用docker作为容器 我也使用docker-compose在docker上运行