在linux执行java程序报错:Exception in thread "main" java.lang.NoSuchMethodError:_我心明月的博客-程序员秘密

技术标签: Java  maven  

环境

IDEA Ultimate 2018.3
MAVEN 3.5.4

背景

将maven工程打包成jar(不包含第三方jar包),放到linux主机上执行,指定第三方jar路径,命令如下:

nohup java -Djava.ext.dirs=/usr/java/jdk1.8.0_181-cloudera/jre/lib/ext:/dev/shm/testMetrics/lib -jar sink-1.0-SNAPSHOT-jar-with-dependencies.jar > temp.txt 2>&1 &

其中第三方jar放置在/dev/shm/testMetrics/lib文件夹下,运行报错:

[2019-04-29 14:16:21]-[main-DEBUG]-[org.apache.hadoop.util.Shell-isSetsidSupported(822)]: setsid exited with exit code 0
 Exception in thread "main" java.lang.NoSuchMethodError: org.apache.commons.beanutils.PropertyUtilsBean.addBeanIntrospector(Lorg/apache/commons/beanutils/BeanIntrospector;)V
        at org.apache.commons.configuration2.beanutils.BeanHelper.initBeanUtilsBean(BeanHelper.java:631)
        at org.apache.commons.configuration2.beanutils.BeanHelper.<clinit>(BeanHelper.java:89)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:264)
        at com.sun.proxy.$Proxy1.<clinit>(Unknown Source)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:739)
        at org.apache.commons.configuration2.builder.fluent.Parameters.createParametersProxy(Parameters.java:294)
        at org.apache.commons.configuration2.builder.fluent.Parameters.fileBased(Parameters.java:185)
        at org.apache.commons.configuration2.builder.fluent.Configurations.fileParams(Configurations.java:602)
        at org.apache.commons.configuration2.builder.fluent.Configurations.fileParams(Configurations.java:638)
        at org.apache.commons.configuration2.builder.fluent.Configurations.fileBasedBuilder(Configurations.java:164)
        at org.apache.commons.configuration2.builder.fluent.Configurations.propertiesBuilder(Configurations.java:264)
        at com.ucar.spacex.metrics.impl.MetricsConfig.loadFirst(MetricsConfig.java:98)
        at com.ucar.spacex.metrics.impl.MetricsConfig.create(MetricsConfig.java:81)
        at com.ucar.spacex.metrics.impl.MetricsSystemImpl.configure(MetricsSystemImpl.java:454)
        at com.ucar.spacex.metrics.impl.MetricsSystemImpl.start(MetricsSystemImpl.java:158)
        at com.ucar.spacex.metrics.impl.MetricsSystemImpl.init(MetricsSystemImpl.java:129)
        at com.ucar.spacex.metrics.lib.DefaultMetricsSystem.init(DefaultMetricsSystem.java:41)
        at com.ucar.spacex.metrics.lib.DefaultMetricsSystem.initialize(DefaultMetricsSystem.java:37)
        at com.ucar.spacex.metrics.CommonMetricsSystem.main(CommonMetricsSystem.java:17)

分析

我去查看了org.apache.commons.beanutils.PropertyUtilsBean这个类所在的jar包,发现这个类同时存在于两个jar包的不同版本中

mvn dependency:tree -Dverbose -Dincludes=*commons*:*beanutils*

[WARNING] Using Maven 2 dependency tree to get verbose output, which may be inconsistent with actual Maven 3 resolution
[INFO] com.ucar.spacex:sink:jar:1.0-SNAPSHOT
[INFO] +- org.apache.hadoop:hadoop-common:jar:3.1.0:provided
[INFO] |  \- commons-beanutils:commons-beanutils:jar:1.9.3:provided
[INFO] \- commons-configuration:commons-configuration:jar:1.6:provided
[INFO]    +- commons-digester:commons-digester:jar:1.8:provided
[INFO]    |  \- (commons-beanutils:commons-beanutils:jar:1.7.0:provided - omitted for conflict with 1.9.3)
[INFO]    \- commons-beanutils:commons-beanutils-core:jar:1.8.0:provided

将pom.xml中依赖commons-configuration:commons-configuration:jar:1.6删除后重新打包解决问题。

参考链接

1、java -jar命令运行jar包时指定外部依赖jar包
2、maven将依赖包一起打入jar包中

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/px_dn/article/details/89706463

智能推荐

bzoj 5338: [TJOI2018]xor (树链剖分+可持久化01Trie)_weixin_30952103的博客-程序员秘密

链接:https://www.lydsy.com/JudgeOnline/problem.php?id=5338题面:5338: [TJOI2018]xorTime Limit:30 SecMemory Limit:256 MBSubmit:269Solved:171[Submit][Status][Discuss]Description现在有一颗以1为...

jenkins 启动tomcat报错 解决办法_weixin_34138377的博客-程序员秘密

为什么80%的码农都做不了架构师?&gt;&gt;&gt; ...

从零开始写一个通用的Makefile_简单通用makefile_JT同学的博客-程序员秘密

本文将通过一步一步地介绍如何写出一个通用的Makefile第一部分先来看一下我们此时要编译的代码main.h#ifndef _MAIN_H_#define _MAIN_H_#define NUM 3#endifmain.c#include &amp;amp;amp;lt;stdio.h&amp;amp;amp;gt;#include &amp;amp;quot;main.h&amp;amp;quot; int main(int

GameObject_Nagi_Way的博客-程序员秘密

GameObject游戏中每个对象都是GameObject,但GameObject本身不作任何事,GameObject是一个容器,包含的组件使得每个GameObject不同。TransformTransform组件决定了每个对象的Position,Rotation,和Scale,每个对象必定有一个Transform组件。如果没有Transform组件,那么GameObject就不会出现在游戏世界中,

textmesh pro ugui 字体不失真+中文字体 + 在unity 2019中脚本调用的解决使用办法_千年奇葩的博客-程序员秘密

如果需要ui的文字不失真,或是需要文字出现在世界场景中而不是ui涂层 。那么可以毫不犹豫的使用unity插件 textmesh pro安装:点击unity的windows-&gt;package manager 选择text mesh pro 安装加入字体:在网上随便下个字体,放在资源目录resouces中,没有就创建一个目录。生成文字素材:点击 windows》textmeshpr...

c3p0-config.xml中的配置项_c3p0-config 中数据库配置_率歌2023的博客-程序员秘密

&lt;c3p0-config&gt; &lt;!-- 默认配置,如果没有指定,则使用这个配置 --&gt; &lt;default-config&gt; &lt;!-- 数据库驱动 --&gt; &lt;property name="driverClass"&gt;com.mysql.jdbc.Driver&lt;/property&gt; ...

随便推点

案例研究:设计与方法_案例研究:未来主义与新时代数字艺术作品_cune1359的博客-程序员秘密

我们前代见证了社会的巨大变化。 与历史上的前世一样,人类的社会和文化常常反映在艺术品中。 例如,现代技术可以优雅地描绘我们的未来生活方式。 未来主义是用来描绘理想的未来地球社会的一种风格。 来自世界各地的艺术家已将他们的想法贡献给了人们,因此,未来主义的类型被严重分解为不同的学科。 从绘画风景到抽象和地球外,未来主义运动在21世纪后期带来了一些奇妙的想法。 许多人没有考虑的是抽象艺术如...

凯撒密码加密算法python_Python密码学入门:凯撒密码_weixin_39736547的博客-程序员秘密

1 什么是密码学自古以来,间谍、士兵、黑客、海盗、商人等人,大多依靠密码学来确保他们的秘密不会人尽皆知。密码学是一门使用秘密编码的学科。想要明白密码长什么样,看一看下面两段文本。nyr N.vNwz5uNz5Ns6620Nz0N3z2vN yvNwz9vNz5N6!9Nyvr9y0QNnvNwv tyNzNw964N6!9N5vzxys690,N.vN2z5u-3vNz Nr Ny64v,N.vN...

【Learn how to learn】Procrastination, memory and sleep_sleep has confused_Annedrew的博客-程序员秘密

【Procrastination】【一】When you look at something that you really rather not do, it seems that you activate the areas of your brain associated with pain. Your brain, naturally enough, looks for a way to stop that negative stimulation by switching your atten

iPhone音频播放后台控制_weixin_34239592的博客-程序员秘密

ipod等播放程序在后台时,双击HOME键,会有个控制界面,如上图,可以使用它进行播放控制。如果需要直接使用多媒体控制键控制自己程序后台播放的音乐:首先在viewdidload等初始化的地方声明App接收远程控制事件,并在相应地方结束声明- (void) viewWillAppear:(BOOL)animated  {    [super viewWillAppear:an...

蓝桥杯单片机组客观题准备-数电部分_蓝桥杯单片机客观题_瞲_大河弯弯的博客-程序员秘密

蓝桥杯单片机组客观题准备(全根据题库)-数电部分我的准备思路是,先背知识点,再做题,再巩固复习书上的那些题库中没有的知识点,还有计算题的方法数电客观题出现的所有知识点1.在数字电路中,三极管相当于一个开关,通常工作在饱和、截止状态2.3.关于逻辑函数的最小项n变量的逻辑函数中,若m为包含n个因子的乘积项,而且这n个变量均以原变量或反变量的形式在m中出现一次,则称m为该组变量的最小项;全体最小项的和为1;任意两个最小项的乘积为0;最小项的相邻性是指两个最小项只有一个因子不同;4.关于差分

下拉导航菜单_SYY18012524183的博客-程序员秘密

今天学习了这个新的方法,做个笔记,毕竟自己前后端都涉猎但是都不精,做个笔记便于查看:功能:鼠标悬浮时菜单显示一级菜单,鼠标点击IM消息时,本身这个IM消息的a标签变色,而且它的父级a标签页同时变色,其实对于码农来说变不变色没关系只要功能可以就行了,但是对于一个产品来说,产品人员会以客观的引导性进行对用户的指导,所以这个是必须的。下面说说主要的实现思路:因为之前也是没...

推荐文章

热门文章

相关标签