我使用FFmpeg包装器为用户上传的视频创建缩略图。在我的开发机器上测试时,这非常好。但是,每当我将我的项目打包为. war并部署到Amazon Web Services时,我都会得到以下堆栈跟踪:
Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.bytedeco.javacpp.avutil
at java.lang.Class.forName0(Native Method) ~[na:1.8.0_101]
at java.lang.Class.forName(Class.java:348) ~[na:1.8.0_101]
at org.bytedeco.javacpp.Loader.load(Loader.java:472) ~[javacpp-1.2.1.jar!/:1.2.1]
at org.bytedeco.javacpp.Loader.load(Loader.java:417) ~[javacpp-1.2.1.jar!/:1.2.1]
at org.bytedeco.javacpp.avformat$AVFormatContext.<clinit>(avformat.java:2597) ~[ffmpeg-2.8.1-1.1.jar!/:1.2.1]
at org.bytedeco.javacv.FFmpegFrameGrabber.startUnsafe(FFmpegFrameGrabber.java:391) ~[javacv-1.2.jar!/:1.2]
at org.bytedeco.javacv.FFmpegFrameGrabber.start(FFmpegFrameGrabber.java:385) ~[javacv-1.2.jar!/:1.2]
at com.myapp.app.service.ICampaignService.createThumbnail(ICampaignService.java:425) ~[classes!/:0.0.44T-SNAPSHOT]
at com.myapp.app.service.ICampaignService$$FastClassBySpringCGLIB$$47736265.invoke(<generated>) ~[classes!/:0.0.44T-SNAPSHOT]
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) ~[spring-core-4.3.2.RELEASE.jar!/:4.3.2.RELEASE]
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:720) ~[spring-aop-4.3.2.RELEASE.jar!/:4.3.2.RELEASE]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) ~[spring-aop-4.3.2.RELEASE.jar!/:4.3.2.RELEASE]
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) ~[spring-tx-4.3.2.RELEASE.jar!/:4.3.2.RELEASE]
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:280) ~[spring-tx-4.3.2.RELEASE.jar!/:4.3.2.RELEASE]
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) ~[spring-tx-4.3.2.RELEASE.jar!/:4.3.2.RELEASE]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.3.2.RELEASE.jar!/:4.3.2.RELEASE]
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:655) ~[spring-aop-4.3.2.RELEASE.jar!/:4.3.2.RELEASE]
at com.myapp.app.service.ICampaignService$$EnhancerBySpringCGLIB$$67e59894.createThumbnail(<generated>) ~[classes!/:0.0.44T-SNAPSHOT]
at com.myapp.app.controllers.CampaignController.uploadCampaign(CampaignController.java:237) ~[classes!/:0.0.44T-SNAPSHOT]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_101]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_101]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_101]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_101]
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221) ~[spring-web-4.3.2.RELEASE.jar!/:4.3.2.RELEASE]
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136) ~[spring-web-4.3.2.RELEASE.jar!/:4.3.2.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:114) ~[spring-webmvc-4.3.2.RELEASE.jar!/:4.3.2.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827) ~[spring-webmvc-4.3.2.RELEASE.jar!/:4.3.2.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738) ~[spring-webmvc-4.3.2.RELEASE.jar!/:4.3.2.RELEASE]
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) ~[spring-webmvc-4.3.2.RELEASE.jar!/:4.3.2.RELEASE]
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963) ~[spring-webmvc-4.3.2.RELEASE.jar!/:4.3.2.RELEASE]
... 85 common frames omitted
以下是我对FFmpeg包装器的maven依赖:
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>javacv</artifactId>
<version>1.3</version>
</dependency>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>javacpp</artifactId>
<version>1.3</version>
</dependency>
<dependency>
<groupId>org.bytedeco.javacpp-presets</groupId>
<artifactId>ffmpeg</artifactId>
<version>3.2.1-1.3</version>
</dependency>
<dependency>
<groupId>org.bytedeco.javacpp-presets</groupId>
<artifactId>opencv-platform</artifactId>
<version>3.1.0-1.3</version>
</dependency>
同样,这个库在我的开发机器上工作得非常好。
>
开发计算机:视窗 10,64 位(工作)
AWS实例:64位AmazonLinux2016.09 v2.2.0运行Java8(导致上述问题)
我花了大约7个小时试图通过乱搞版本来解决这个问题。知道如何解决这个问题吗?
编辑
依赖关系树:
[INFO] +- org.springframework.boot:spring-boot-starter-data-jpa:jar:1.4.0.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter:jar:1.4.0.RELEASE:compile
[INFO] | | +- org.springframework.boot:spring-boot:jar:1.4.0.RELEASE:compile
[INFO] | | +- org.springframework.boot:spring-boot-autoconfigure:jar:1.4.0.RELEASE:compile
[INFO] | | +- org.springframework.boot:spring-boot-starter-logging:jar:1.4.0.RELEASE:compile
[INFO] | | | +- ch.qos.logback:logback-classic:jar:1.1.7:compile
[INFO] | | | | \- ch.qos.logback:logback-core:jar:1.1.7:compile
[INFO] | | | +- org.slf4j:jul-to-slf4j:jar:1.7.21:compile
[INFO] | | | \- org.slf4j:log4j-over-slf4j:jar:1.7.21:compile
[INFO] | | \- org.yaml:snakeyaml:jar:1.17:runtime
[INFO] | +- org.springframework.boot:spring-boot-starter-aop:jar:1.4.0.RELEASE:compile
[INFO] | | \- org.aspectj:aspectjweaver:jar:1.8.9:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-jdbc:jar:1.4.0.RELEASE:compile
[INFO] | | +- org.apache.tomcat:tomcat-jdbc:jar:8.5.4:compile
[INFO] | | | \- org.apache.tomcat:tomcat-juli:jar:8.5.4:compile
[INFO] | | \- org.springframework:spring-jdbc:jar:4.3.2.RELEASE:compile
[INFO] | +- org.hibernate:hibernate-core:jar:5.0.9.Final:compile
[INFO] | | +- org.jboss.logging:jboss-logging:jar:3.3.0.Final:compile
[INFO] | | +- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:jar:1.0.0.Final:compile
[INFO] | | +- org.javassist:javassist:jar:3.20.0-GA:compile
[INFO] | | +- antlr:antlr:jar:2.7.7:compile
[INFO] | | +- org.jboss:jandex:jar:2.0.0.Final:compile
[INFO] | | +- dom4j:dom4j:jar:1.6.1:compile
[INFO] | | | \- xml-apis:xml-apis:jar:1.4.01:compile
[INFO] | | \- org.hibernate.common:hibernate-commons-annotations:jar:5.0.1.Final:compile
[INFO] | +- org.hibernate:hibernate-entitymanager:jar:5.0.9.Final:compile
[INFO] | +- javax.transaction:javax.transaction-api:jar:1.2:compile
[INFO] | +- org.springframework.data:spring-data-jpa:jar:1.10.2.RELEASE:compile
[INFO] | | +- org.springframework.data:spring-data-commons:jar:1.12.2.RELEASE:compile
[INFO] | | +- org.springframework:spring-orm:jar:4.3.2.RELEASE:compile
[INFO] | | +- org.springframework:spring-tx:jar:4.3.2.RELEASE:compile
[INFO] | | \- org.slf4j:jcl-over-slf4j:jar:1.7.21:compile
[INFO] | \- org.springframework:spring-aspects:jar:4.3.2.RELEASE:compile
[INFO] +- org.springframework.boot:spring-boot-starter-security:jar:1.4.0.RELEASE:compile
[INFO] | +- org.springframework:spring-aop:jar:4.3.2.RELEASE:compile
[INFO] | +- org.springframework.security:spring-security-config:jar:4.1.1.RELEASE:compile
[INFO] | \- org.springframework.security:spring-security-web:jar:4.1.1.RELEASE:compile
[INFO] | \- org.springframework:spring-expression:jar:4.3.2.RELEASE:compile
[INFO] +- org.springframework.boot:spring-boot-starter-web:jar:1.4.0.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-tomcat:jar:1.4.0.RELEASE:compile
[INFO] | | +- org.apache.tomcat.embed:tomcat-embed-core:jar:8.5.4:compile
[INFO] | | +- org.apache.tomcat.embed:tomcat-embed-el:jar:8.5.4:compile
[INFO] | | \- org.apache.tomcat.embed:tomcat-embed-websocket:jar:8.5.4:compile
[INFO] | +- org.hibernate:hibernate-validator:jar:5.2.4.Final:compile
[INFO] | | +- javax.validation:validation-api:jar:1.1.0.Final:compile
[INFO] | | \- com.fasterxml:classmate:jar:1.3.1:compile
[INFO] | +- com.fasterxml.jackson.core:jackson-databind:jar:2.8.1:compile
[INFO] | | +- com.fasterxml.jackson.core:jackson-annotations:jar:2.8.1:compile
[INFO] | | \- com.fasterxml.jackson.core:jackson-core:jar:2.8.1:compile
[INFO] | +- org.springframework:spring-web:jar:4.3.2.RELEASE:compile
[INFO] | \- org.springframework:spring-webmvc:jar:4.3.2.RELEASE:compile
[INFO] +- org.springframework.boot:spring-boot-starter-test:jar:1.4.0.RELEASE:test
[INFO] | +- org.springframework.boot:spring-boot-test:jar:1.4.0.RELEASE:test
[INFO] | +- org.springframework.boot:spring-boot-test-autoconfigure:jar:1.4.0.RELEASE:test
[INFO] | +- com.jayway.jsonpath:json-path:jar:2.2.0:test
[INFO] | | \- net.minidev:json-smart:jar:2.2.1:test
[INFO] | | \- net.minidev:accessors-smart:jar:1.1:test
[INFO] | | \- org.ow2.asm:asm:jar:5.0.3:test
[INFO] | +- junit:junit:jar:4.12:test
[INFO] | +- org.assertj:assertj-core:jar:2.5.0:test
[INFO] | +- org.mockito:mockito-core:jar:1.10.19:test
[INFO] | | \- org.objenesis:objenesis:jar:2.1:test
[INFO] | +- org.hamcrest:hamcrest-core:jar:1.3:test
[INFO] | +- org.hamcrest:hamcrest-library:jar:1.3:test
[INFO] | +- org.skyscreamer:jsonassert:jar:1.3.0:test
[INFO] | | \- org.json:json:jar:20140107:test
[INFO] | +- org.springframework:spring-core:jar:4.3.2.RELEASE:compile
[INFO] | \- org.springframework:spring-test:jar:4.3.2.RELEASE:test
[INFO] +- org.springframework.security.oauth:spring-security-oauth2:jar:2.0.10.RELEASE:compile
[INFO] | +- org.springframework:spring-beans:jar:4.3.2.RELEASE:compile
[INFO] | +- org.springframework:spring-context:jar:4.3.2.RELEASE:compile
[INFO] | +- org.springframework.security:spring-security-core:jar:4.1.1.RELEASE:compile
[INFO] | | \- aopalliance:aopalliance:jar:1.0:compile
[INFO] | +- commons-codec:commons-codec:jar:1.10:compile
[INFO] | \- org.codehaus.jackson:jackson-mapper-asl:jar:1.9.13:compile
[INFO] | \- org.codehaus.jackson:jackson-core-asl:jar:1.9.13:compile
[INFO] +- org.springframework.security:spring-security-jwt:jar:1.0.4.RELEASE:compile
[INFO] | \- org.bouncycastle:bcpkix-jdk15on:jar:1.47:compile
[INFO] | \- org.bouncycastle:bcprov-jdk15on:jar:1.47:compile
[INFO] +- mysql:mysql-connector-java:jar:5.1.39:compile
[INFO] +- commons-io:commons-io:jar:2.5:compile
[INFO] +- org.apache.commons:commons-lang3:jar:3.0:compile
[INFO] +- org.bytedeco:javacv:jar:1.3:compile
[INFO] | +- org.bytedeco.javacpp-presets:opencv:jar:3.1.0-1.3:compile
[INFO] | +- org.bytedeco.javacpp-presets:flycapture:jar:2.9.3.43-1.3:compile
[INFO] | +- org.bytedeco.javacpp-presets:libdc1394:jar:2.2.4-1.3:compile
[INFO] | +- org.bytedeco.javacpp-presets:libfreenect:jar:0.5.3-1.3:compile
[INFO] | +- org.bytedeco.javacpp-presets:librealsense:jar:1.9.6-1.3:compile
[INFO] | +- org.bytedeco.javacpp-presets:videoinput:jar:0.200-1.3:compile
[INFO] | +- org.bytedeco.javacpp-presets:artoolkitplus:jar:2.3.1-1.3:compile
[INFO] | \- org.bytedeco.javacpp-presets:flandmark:jar:1.07-1.3:compile
[INFO] +- org.bytedeco:javacpp:jar:1.3:compile
[INFO] +- org.bytedeco.javacpp-presets:ffmpeg:jar:3.2.1-1.3:compile
[INFO] +- org.bytedeco.javacpp-presets:opencv-platform:jar:3.1.0-1.3:compile
[INFO] | +- org.bytedeco.javacpp-presets:opencv:jar:android-arm:3.1.0-1.3:compile
[INFO] | +- org.bytedeco.javacpp-presets:opencv:jar:android-x86:3.1.0-1.3:compile
[INFO] | +- org.bytedeco.javacpp-presets:opencv:jar:linux-x86:3.1.0-1.3:compile
[INFO] | +- org.bytedeco.javacpp-presets:opencv:jar:linux-x86_64:3.1.0-1.3:compile
[INFO] | +- org.bytedeco.javacpp-presets:opencv:jar:linux-armhf:3.1.0-1.3:compile
[INFO] | +- org.bytedeco.javacpp-presets:opencv:jar:linux-ppc64le:3.1.0-1.3:compile
[INFO] | +- org.bytedeco.javacpp-presets:opencv:jar:macosx-x86_64:3.1.0-1.3:compile
[INFO] | +- org.bytedeco.javacpp-presets:opencv:jar:windows-x86:3.1.0-1.3:compile
[INFO] | \- org.bytedeco.javacpp-presets:opencv:jar:windows-x86_64:3.1.0-1.3:compile
[INFO] +- com.paypal.sdk:rest-api-sdk:jar:1.13.0:compile
[INFO] | +- org.slf4j:slf4j-api:jar:1.7.21:compile
[INFO] | \- com.google.code.gson:gson:jar:2.7:compile
[INFO] +- com.squareup.okhttp3:okhttp:jar:3.4.1:compile
[INFO] | \- com.squareup.okio:okio:jar:1.9.0:compile
[INFO] +- javax.mail:mail:jar:1.4:compile
[INFO] | \- javax.activation:activation:jar:1.1:compile
[INFO] \- com.amazonaws:aws-java-sdk:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-support:jar:1.11.58:compile
[INFO] | \- com.amazonaws:jmespath-java:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-simpledb:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-servicecatalog:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-servermigration:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-simpleworkflow:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-storagegateway:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-route53:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-s3:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-importexport:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-sts:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-sqs:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-rds:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-redshift:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-elasticbeanstalk:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-glacier:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-iam:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-datapipeline:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-elasticloadbalancing:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-elasticloadbalancingv2:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-emr:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-elasticache:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-elastictranscoder:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-ec2:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-dynamodb:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-sns:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-budgets:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-cloudtrail:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-cloudwatch:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-logs:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-events:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-cognitoidentity:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-cognitosync:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-directconnect:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-cloudformation:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-cloudfront:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-kinesis:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-opsworks:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-ses:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-autoscaling:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-cloudsearch:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-cloudwatchmetrics:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-codedeploy:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-codepipeline:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-kms:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-config:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-lambda:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-ecs:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-ecr:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-cloudhsm:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-ssm:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-workspaces:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-machinelearning:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-directory:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-efs:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-codecommit:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-devicefarm:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-elasticsearch:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-waf:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-marketplacecommerceanalytics:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-inspector:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-iot:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-api-gateway:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-acm:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-gamelift:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-dms:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-marketplacemeteringservice:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-cognitoidp:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-discovery:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-applicationautoscaling:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-snowball:jar:1.11.58:compile
[INFO] +- com.amazonaws:aws-java-sdk-core:jar:1.11.58:compile
[INFO] | +- commons-logging:commons-logging:jar:1.1.3:compile
[INFO] | +- org.apache.httpcomponents:httpclient:jar:4.5.2:compile
[INFO] | | \- org.apache.httpcomponents:httpcore:jar:4.4.5:compile
[INFO] | +- software.amazon.ion:ion-java:jar:1.0.1:compile
[INFO] | +- com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:jar:2.8.1:compile
[INFO] | \- joda-time:joda-time:jar:2.9.4:compile
[INFO] +- com.amazonaws:aws-java-sdk-models:jar:1.11.58:compile
[INFO] \- com.amazonaws:aws-java-sdk-swf-libraries:jar:1.11.22:compile
将Linux升级到2.4、将javacpp降级到1.2.1并运行mvn clean后出错:
java.lang.NoClassDefFoundError: Could not initialize class org.bytedeco.javacpp.avutil
at java.lang.Class.forName0(Native Method) ~[na:1.8.0_111]
at java.lang.Class.forName(Class.java:348) ~[na:1.8.0_111]
at org.bytedeco.javacpp.Loader.load(Loader.java:472) ~[javacpp-1.2.1.jar!/:1.2.1]
at org.bytedeco.javacpp.Loader.load(Loader.java:417) ~[javacpp-1.2.1.jar!/:1.2.1]
at org.bytedeco.javacpp.avformat$AVFormatContext.<clinit>(avformat.java:2819) ~[ffmpeg-3.2.1-1.3.jar!/:1.2.1]
at org.bytedeco.javacv.FFmpegFrameGrabber.startUnsafe(FFmpegFrameGrabber.java:391) ~[javacv-1.3.jar!/:1.3]
at org.bytedeco.javacv.FFmpegFrameGrabber.start(FFmpegFrameGrabber.java:385) ~[javacv-1.3.jar!/:1.3]
git克隆
这种错误可以被认为是与类加载器相关的错误,也称为JAR Hell。在大多数情况下,类装入器试图在运行时查找一个类/方法,但没有找到他期望找到的。
当您在处理一个具有大量外部依赖项的更大的Java项目时,您可能会更经常地遇到这种问题(这些项目也有依赖项等等...).
有几种方法可以解决这类问题,其中一种非常好:
检查您的依赖关系树:
运行mvn清洁
来清理可能的噪音。然后运行mvn依赖:树-U
查看< code>deps.txt
内部,会得到maven项目中所有依赖项的树形结构。它看起来如下:
[INFO] +- com.fasterxml.jackson.core:jackson-core:jar:2.8.4:compile
[INFO] +- com.fasterxml.jackson.core:jackson-databind:jar:2.8.4:compile
[INFO] +- com.fasterxml.jackson.datatype:jackson-datatype-joda:jar:2.8.4:compile
[INFO] | \- joda-time:joda-time:jar:2.3:compile
[INFO] +- com.fasterxml.jackson.module:jackson-module-scala_2.11:jar:2.8.4:compile
[INFO] | +- org.scala-lang:scala-reflect:jar:2.11.8:compile
[INFO] | \- com.fasterxml.jackson.module:jackson-module-paranamer:jar:2.8.4:compile
[INFO] | \- com.thoughtworks.paranamer:paranamer:jar:2.5.2:compile
[INFO] +- com.google.guava:guava:jar:19.0:compile
[INFO] +- com.google.code.findbugs:jsr305:jar:3.0.1:compile
[INFO] +- org.apache.commons:commons-lang3:jar:3.4:compile
[INFO] +- org.mongodb:casbah-commons_2.11:jar:3.1.1:compile
如您所见,它是一个树结构,显示您的库及其依赖库。接下来尝试查找版本不匹配(例如,同一范围内同一库的两个不同版本)。
示例:
[INFO] +- com.fasterxml.jackson.core:jackson-core:jar:2.8.4:compile
[INFO] | \- joda-time:joda-time:jar:2.3:compile
[INFO] +- com.my.fancy:library:jar:1.0:compile
[INFO] | \- joda-time:joda-time:jar:1.8:compile
如您所见,花哨的库包含另一个jackson-core版本。两者都在compile
范围内。这可能会导致运行时错误,因为类加载器可以尝试获取joda: time: 1.8的方法/类,但在jackson-core的范围内,这需要joda: time: 2.3。
要解决这个问题,您可以从您的作用域中显式排除一个joda time版本(在您的< code>pom.xml中):
<dependencies>
<dependency>
<groupId>com.my.fancy</groupId>
<artifactId>library</artifactId>
<version>1.0</version>
<exclusions>
<exclusion>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
希望这能给你一个好的开始。罐子地狱没有万能的解决方案,如果你有更多的问题,欢迎回复这个答案,我们会解决的!
伊凡
看来,你需要将glibc更新到2.14检查 https://github.com/bytedeco/javacpp/issues/106
经过大量的版本切换和Maven清理,我终于让它工作了。无需在LinuxVM上克隆。
我不熟悉weblogic,正在努力部署战争。我有一个在嵌入式tomcat上运行的spring boot应用程序。我改变了主要课程如下。 } 我把包装改成了战争,把tomcat罐子排除在外,然后部署。但是当提交请求时,我得到了404。我在管理控制台的诊断日志中没有看到任何内容。有地方看日志吗。在weblogic管理控制台中,我可以看到应用程序处于活动状态,运行状况良好。 我更改了相同的应用程序spr
当我尝试部署一个war(Apache airavata-registry . war)时,我得到如下所示的错误。能是什么原因呢? 2013年11月14日下午7:41:19 org . Apache . catalina . core . application context日志信息:HTMLManager: list:列出虚拟主机“localhost”的上下文2013年11月14日下午7:41:
我使用的是Tomcat7.0.20和Grails1.3.7,在部署war文件时,我遇到了这个错误。 AM org.apache.Catalina.startup.hostconfig deployWAR信息:部署web应用程序存档ih-core.war 2013年2月25日1:55:35AM org.apache.Catalina.core.containerbase AddChildinal严重
本文讲解了如何开发容器化应用,并使用Wercker持续集成工具构建docker镜像上传到docker镜像仓库中,然后在本地使用docker-compose测试后,再使用kompose自动生成kubernetes的yaml文件,再将注入Envoy sidecar容器,集成Istio service mesh中的详细过程。 整个过程如下图所示。 为了讲解详细流程,我特意写了用Go语言开发的示例程序放在
> 安装命令行工具,然后将其放在SDK文件夹(users/user/library/android/SDK)中。然后将添加到路径(引用) 这样做之后,在终端上执行sdkmanager时,我得到以下消息 然后我再次搜索,它引导我找到这个线程,然后就像在答案上一样,我试图重命名文件夹,然后其他尝试不相关。我陷入了许多根本不起作用的链接和引用。 之后,我尝试检查如果单击会发生什么,然后显示如下: 正如消