Xam.Plugin.Media(未测试)

本文档介绍了如何利用Xam.Plugin.Media在Xamarin.Forms应用中进行从图片库选择图片、拍照以及捕获屏幕并保存的操作。详细阐述了安装NuGet包和声明iOS与Android平台的相关权限。
/usr/java/jdk1.8.0_152/bin/java -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:37871,suspend=y,server=n -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true -javaagent:/opt/apps/idea-iu/plugins/java/lib/rt/debugger-agent.jar -Dfile.encoding=UTF-8 -classpath /usr/java/jdk1.8.0_152/jre/lib/charsets.jar:/usr/java/jdk1.8.0_152/jre/lib/deploy.jar:/usr/java/jdk1.8.0_152/jre/lib/ext/cldrdata.jar:/usr/java/jdk1.8.0_152/jre/lib/ext/dnsns.jar:/usr/java/jdk1.8.0_152/jre/lib/ext/jaccess.jar:/usr/java/jdk1.8.0_152/jre/lib/ext/jfxrt.jar:/usr/java/jdk1.8.0_152/jre/lib/ext/localedata.jar:/usr/java/jdk1.8.0_152/jre/lib/ext/nashorn.jar:/usr/java/jdk1.8.0_152/jre/lib/ext/sunec.jar:/usr/java/jdk1.8.0_152/jre/lib/ext/sunjce_provider.jar:/usr/java/jdk1.8.0_152/jre/lib/ext/sunpkcs11.jar:/usr/java/jdk1.8.0_152/jre/lib/ext/zipfs.jar:/usr/java/jdk1.8.0_152/jre/lib/javaws.jar:/usr/java/jdk1.8.0_152/jre/lib/jce.jar:/usr/java/jdk1.8.0_152/jre/lib/jfr.jar:/usr/java/jdk1.8.0_152/jre/lib/jfxswt.jar:/usr/java/jdk1.8.0_152/jre/lib/jsse.jar:/usr/java/jdk1.8.0_152/jre/lib/management-agent.jar:/usr/java/jdk1.8.0_152/jre/lib/plugin.jar:/usr/java/jdk1.8.0_152/jre/lib/resources.jar:/usr/java/jdk1.8.0_152/jre/lib/rt.jar:/media/GTZQ/DATA/workspace/hundsun-ext/amop-tgreportfacade/amop-tgreportfacade-service/target/classes:/media/GTZQ/DATA/workspace/api-repos/amop-tgreportfacade-api/target/classes:/media/GTZQ/DATA/maven/local_repos/org/projectlombok/lombok/1.16.22/lombok-1.16.22.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/jrescloud-starter-rpc-def/2.0.32.2/jrescloud-starter-rpc-def-2.0.32.2.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/jrescloud-rpc-def-monitor/2.0.32.2/jrescloud-rpc-def-monitor-2.0.32.2.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/jrescloud-rpc-def-log4j2/2.0.32.2/jrescloud-rpc-def-log4j2-2.0.32.2.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/qin/qin-core/0.0.4-SNAPSHOT/qin-core-0.0.4-SNAPSHOT.jar:/media/GTZQ/DATA/maven/local_repos/commons-beanutils/commons-beanutils/1.9.3/commons-beanutils-1.9.3.jar:/media/GTZQ/DATA/maven/local_repos/commons-collections/commons-collections/3.2.2/commons-collections-3.2.2.jar:/media/GTZQ/DATA/maven/local_repos/io/springfox/springfox-swagger-ui/2.9.2/springfox-swagger-ui-2.9.2.jar:/media/GTZQ/DATA/maven/local_repos/org/springframework/security/spring-security-data/4.2.8.RELEASE/spring-security-data-4.2.8.RELEASE.jar:/media/GTZQ/DATA/maven/local_repos/org/springframework/data/spring-data-commons/1.13.15.RELEASE/spring-data-commons-1.13.15.RELEASE.jar:/media/GTZQ/DATA/maven/local_repos/org/springframework/security/spring-security-core/4.2.8.RELEASE/spring-security-core-4.2.8.RELEASE.jar:/media/GTZQ/DATA/maven/local_repos/aopalliance/aopalliance/1.0/aopalliance-1.0.jar:/media/GTZQ/DATA/maven/local_repos/org/dom4j/dom4j/2.1.1/dom4j-2.1.1.jar:/media/GTZQ/DATA/maven/local_repos/io/undertow/undertow-core/1.4.25.Final/undertow-core-1.4.25.Final.jar:/media/GTZQ/DATA/maven/local_repos/org/jboss/logging/jboss-logging/3.3.2.Final/jboss-logging-3.3.2.Final.jar:/media/GTZQ/DATA/maven/local_repos/org/jboss/xnio/xnio-api/3.3.8.Final/xnio-api-3.3.8.Final.jar:/media/GTZQ/DATA/maven/local_repos/org/jboss/xnio/xnio-nio/3.3.8.Final/xnio-nio-3.3.8.Final.jar:/media/GTZQ/DATA/maven/local_repos/com/alibaba/druid/1.2.8/druid-1.2.8.jar:/media/GTZQ/DATA/maven/local_repos/cn/hutool/hutool-all/5.8.0.M3/hutool-all-5.8.0.M3.jar:/media/GTZQ/DATA/workspace/api-repos/amc-common/target/classes:/media/GTZQ/DATA/workspace/api-repos/web-common/target/classes:/media/GTZQ/DATA/maven/local_repos/javax/persistence/persistence-api/1.0.2/persistence-api-1.0.2.jar:/media/GTZQ/DATA/maven/local_repos/org/springframework/retry/spring-retry/1.2.2.RELEASE/spring-retry-1.2.2.RELEASE.jar:/media/GTZQ/DATA/maven/local_repos/org/bouncycastle/bcprov-jdk15on/1.54/bcprov-jdk15on-1.54.jar:/media/GTZQ/DATA/maven/local_repos/org/yaml/snakeyaml/1.17/snakeyaml-1.17.jar:/media/GTZQ/DATA/maven/local_repos/org/springframework/boot/spring-boot-configuration-processor/1.5.16.RELEASE/spring-boot-configuration-processor-1.5.16.RELEASE.jar:/media/GTZQ/DATA/maven/local_repos/com/thoughtworks/xstream/xstream/1.4.18/xstream-1.4.18.jar:/media/GTZQ/DATA/maven/local_repos/io/github/x-stream/mxparser/1.2.2/mxparser-1.2.2.jar:/media/GTZQ/DATA/maven/local_repos/xmlpull/xmlpull/1.1.3.1/xmlpull-1.1.3.1.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/skywalking/apm-toolkit-log4j-2.x/6.6.0/apm-toolkit-log4j-2.x-6.6.0.jar:/media/GTZQ/DATA/maven/local_repos/com/cloudbees/syslog-java-client/1.1.7/syslog-java-client-1.1.7.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/jrescloud-starter/2.0.32.2/jrescloud-starter-2.0.32.2.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/jrescloud-common/2.0.32.2/jrescloud-common-2.0.32.2.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/jrescloud-common-base/2.0.32.2/jrescloud-common-base-2.0.32.2.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/jrescloud-common-gm/2.0.32.2/jrescloud-common-gm-2.0.32.2.jar:/media/GTZQ/DATA/maven/local_repos/org/springframework/boot/spring-boot-legacy/1.1.0.RELEASE/spring-boot-legacy-1.1.0.RELEASE.jar:/media/GTZQ/DATA/maven/local_repos/org/springframework/boot/spring-boot-starter-aop/1.5.16.RELEASE/spring-boot-starter-aop-1.5.16.RELEASE.jar:/media/GTZQ/DATA/maven/local_repos/org/slf4j/jul-to-slf4j/1.7.25/jul-to-slf4j-1.7.25.jar:/media/GTZQ/DATA/maven/local_repos/com/lmax/disruptor/3.4.2/disruptor-3.4.2.jar:/media/GTZQ/DATA/maven/local_repos/org/springframework/boot/spring-boot-starter-log4j2/1.5.16.RELEASE/spring-boot-starter-log4j2-1.5.16.RELEASE.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/jrescloud-monitor-common/2.0.32.2/jrescloud-monitor-common-2.0.32.2.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/jrescloud-monitor-api/2.0.32.2/jrescloud-monitor-api-2.0.32.2.jar:/media/GTZQ/DATA/maven/local_repos/net/sf/dozer/dozer/5.5.1/dozer-5.5.1.jar:/media/GTZQ/DATA/maven/local_repos/org/slf4j/jcl-over-slf4j/1.7.25/jcl-over-slf4j-1.7.25.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/jrescloud-starter-mybatis/2.0.32.2/jrescloud-starter-mybatis-2.0.32.2.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/jrescloud-db-def/2.0.32.2/jrescloud-db-def-2.0.32.2.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/jrescloud-db-core/2.0.32.2/jrescloud-db-core-2.0.32.2.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/jrescloud-db-api/2.0.32.2/jrescloud-db-api-2.0.32.2.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/jrescloud-db-monitor/2.0.32.2/jrescloud-db-monitor-2.0.32.2.jar:/media/GTZQ/DATA/maven/local_repos/mysql/mysql-connector-java/5.1.47/mysql-connector-java-5.1.47.jar:/media/GTZQ/DATA/maven/local_repos/tk/mybatis/mapper-spring-boot-starter/2.1.5/mapper-spring-boot-starter-2.1.5.jar:/media/GTZQ/DATA/maven/local_repos/org/mybatis/mybatis/3.4.6/mybatis-3.4.6.jar:/media/GTZQ/DATA/maven/local_repos/org/mybatis/mybatis-spring/1.3.2/mybatis-spring-1.3.2.jar:/media/GTZQ/DATA/maven/local_repos/tk/mybatis/mapper-core/1.1.5/mapper-core-1.1.5.jar:/media/GTZQ/DATA/maven/local_repos/tk/mybatis/mapper-base/1.1.5/mapper-base-1.1.5.jar:/media/GTZQ/DATA/maven/local_repos/tk/mybatis/mapper-weekend/1.1.5/mapper-weekend-1.1.5.jar:/media/GTZQ/DATA/maven/local_repos/tk/mybatis/mapper-spring/1.1.5/mapper-spring-1.1.5.jar:/media/GTZQ/DATA/maven/local_repos/tk/mybatis/mapper-extra/1.1.5/mapper-extra-1.1.5.jar:/media/GTZQ/DATA/maven/local_repos/tk/mybatis/mapper-spring-boot-autoconfigure/2.1.5/mapper-spring-boot-autoconfigure-2.1.5.jar:/media/GTZQ/DATA/maven/local_repos/org/springframework/boot/spring-boot-starter-jdbc/1.5.16.RELEASE/spring-boot-starter-jdbc-1.5.16.RELEASE.jar:/media/GTZQ/DATA/maven/local_repos/org/springframework/spring-jdbc/4.3.19.RELEASE/spring-jdbc-4.3.19.RELEASE.jar:/media/GTZQ/DATA/maven/local_repos/org/springframework/spring-tx/4.3.19.RELEASE/spring-tx-4.3.19.RELEASE.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/jrescloud-starter-rpc-mvc-registry/2.0.32.2/jrescloud-starter-rpc-mvc-registry-2.0.32.2.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/jrescloud-rpc-springmvc/2.0.32.2/jrescloud-rpc-springmvc-2.0.32.2.jar:/media/GTZQ/DATA/maven/local_repos/commons-fileupload/commons-fileupload/1.3.3/commons-fileupload-1.3.3.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/jrescloud-starter-mvc-registry/2.0.32.2/jrescloud-starter-mvc-registry-2.0.32.2.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/jrescloud-mvc-registry/2.0.32.2/jrescloud-mvc-registry-2.0.32.2.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/jrescloud-common-extension/2.0.32.2/jrescloud-common-extension-2.0.32.2.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jres/bizframe2/bizframe-api/2.0.54/bizframe-api-2.0.54.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jres/bizframe2/bizframe-cloud-api/2.0.54/bizframe-cloud-api-2.0.54.jar:/media/GTZQ/DATA/maven/local_repos/org/mybatis/generator/mybatis-generator-core/1.3.7/mybatis-generator-core-1.3.7.jar:/media/GTZQ/DATA/maven/local_repos/com/oracle/ojdbc/ojdbc8/19.3.0.0/ojdbc8-19.3.0.0.jar:/media/GTZQ/DATA/maven/local_repos/com/oracle/ojdbc/ucp/19.3.0.0/ucp-19.3.0.0.jar:/media/GTZQ/DATA/maven/local_repos/com/oracle/ojdbc/oraclepki/19.3.0.0/oraclepki-19.3.0.0.jar:/media/GTZQ/DATA/maven/local_repos/com/oracle/ojdbc/osdt_cert/19.3.0.0/osdt_cert-19.3.0.0.jar:/media/GTZQ/DATA/maven/local_repos/com/oracle/ojdbc/osdt_core/19.3.0.0/osdt_core-19.3.0.0.jar:/media/GTZQ/DATA/maven/local_repos/com/oracle/ojdbc/simplefan/19.3.0.0/simplefan-19.3.0.0.jar:/media/GTZQ/DATA/maven/local_repos/com/oracle/ojdbc/ons/19.3.0.0/ons-19.3.0.0.jar:/media/GTZQ/DATA/maven/local_repos/cn/easyproject/orai18n/12.1.0.2.0/orai18n-12.1.0.2.0.jar:/media/GTZQ/DATA/maven/local_repos/io/swagger/swagger-annotations/1.5.24/swagger-annotations-1.5.24.jar:/media/GTZQ/DATA/maven/local_repos/jsch/jsch/0.1.54/jsch-0.1.54.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jres/workflow/com.hundsun.jres.workflow.cloud.util/1.2.177/com.hundsun.jres.workflow.cloud.util-1.2.177.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jresplus/jresplus-t2sdk-core/1.2.4/jresplus-t2sdk-core-1.2.4.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jresplus/jresplus-t2sdk-api/1.2.4/jresplus-t2sdk-api-1.2.4.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jresplus/jresplus-t2sdk-spi-hs/1.2.4/jresplus-t2sdk-spi-hs-1.2.4.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jres/workflow/com.hundsun.jres.workflow.multisystem.remoting.api/1.2.177/com.hundsun.jres.workflow.multisystem.remoting.api-1.2.177.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jres/workflow/com.hundsun.jres.workflow.api.dto/1.2.177/com.hundsun.jres.workflow.api.dto-1.2.177.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jresplus/jresplus-cep-context/1.1.29/jresplus-cep-context-1.1.29.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/workflow/com.hundsun.workflow.api/1.0.0/com.hundsun.workflow.api-1.0.0.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jresplus/jresplus-remoting/1.1.29/jresplus-remoting-1.1.29.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jresplus/jresplus-common/1.0.9/jresplus-common-1.0.9.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jresplus/jresplus-cep-t2channel/1.1.29/jresplus-cep-t2channel-1.1.29.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jresplus/jresplus-cep-core/1.1.29/jresplus-cep-core-1.1.29.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jresplus/jresplus-security/1.0.5/jresplus-security-1.0.5.jar:/media/GTZQ/DATA/maven/local_repos/net/iharder/base64/2.3.9/base64-2.3.9.jar:/media/GTZQ/DATA/maven/local_repos/jaxen/jaxen/1.1.6/jaxen-1.1.6.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jresplus/jresplus-cep-spring/1.1.29/jresplus-cep-spring-1.1.29.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jresplus/jresplus-trace/1.0.1/jresplus-trace-1.0.1.jar:/media/GTZQ/DATA/maven/local_repos/xerces/xercesImpl/2.10.0/xercesImpl-2.10.0.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jres/workflow/com.hundsun.jres.workflow.remoting.api/1.2.177/com.hundsun.jres.workflow.remoting.api-1.2.177.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jres/workflow/com.hundsun.jres.workflow.comform.remoting.api/1.2.177/com.hundsun.jres.workflow.comform.remoting.api-1.2.177.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jresplus/jresplus-mvc-spi-spring4/1.2.2/jresplus-mvc-spi-spring4-1.2.2.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/velocity/velocity/1.7/velocity-1.7.jar:/media/GTZQ/DATA/maven/local_repos/org/springframework/spring-webmvc/4.3.19.RELEASE/spring-webmvc-4.3.19.RELEASE.jar:/media/GTZQ/DATA/maven/local_repos/org/springframework/spring-expression/4.3.19.RELEASE/spring-expression-4.3.19.RELEASE.jar:/media/GTZQ/DATA/maven/local_repos/org/springframework/spring-web/4.3.19.RELEASE/spring-web-4.3.19.RELEASE.jar:/media/GTZQ/DATA/maven/local_repos/org/springframework/spring-context/4.3.19.RELEASE/spring-context-4.3.19.RELEASE.jar:/media/GTZQ/DATA/maven/local_repos/org/springframework/spring-beans/4.3.19.RELEASE/spring-beans-4.3.19.RELEASE.jar:/media/GTZQ/DATA/maven/local_repos/org/springframework/spring-aop/4.3.19.RELEASE/spring-aop-4.3.19.RELEASE.jar:/media/GTZQ/DATA/maven/local_repos/org/springframework/spring-core/4.3.19.RELEASE/spring-core-4.3.19.RELEASE.jar:/media/GTZQ/DATA/maven/local_repos/org/springframework/spring-context-support/4.3.19.RELEASE/spring-context-support-4.3.19.RELEASE.jar:/media/GTZQ/DATA/maven/local_repos/xml-apis/xml-apis/1.4.01/xml-apis-1.4.01.jar:/media/GTZQ/DATA/maven/local_repos/com/fasterxml/jackson/core/jackson-annotations/2.8.0/jackson-annotations-2.8.0.jar:/media/GTZQ/DATA/maven/local_repos/com/fasterxml/jackson/core/jackson-core/2.8.11/jackson-core-2.8.11.jar:/media/GTZQ/DATA/maven/local_repos/com/fasterxml/jackson/core/jackson-databind/2.8.11.2/jackson-databind-2.8.11.2.jar:/media/GTZQ/DATA/maven/local_repos/com/fasterxml/jackson/dataformat/jackson-dataformat-cbor/2.8.11/jackson-dataformat-cbor-2.8.11.jar:/media/GTZQ/DATA/maven/local_repos/com/fasterxml/jackson/dataformat/jackson-dataformat-smile/2.8.11/jackson-dataformat-smile-2.8.11.jar:/media/GTZQ/DATA/maven/local_repos/com/fasterxml/jackson/dataformat/jackson-dataformat-yaml/2.8.11/jackson-dataformat-yaml-2.8.11.jar:/media/GTZQ/DATA/maven/local_repos/commons-io/commons-io/2.11.0/commons-io-2.11.0.jar:/media/GTZQ/DATA/maven/local_repos/commons-codec/commons-codec/1.10/commons-codec-1.10.jar:/media/GTZQ/DATA/maven/local_repos/commons-lang/commons-lang/2.6/commons-lang-2.6.jar:/media/GTZQ/DATA/maven/local_repos/commons-net/commons-net/3.6/commons-net-3.6.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/poi/poi/4.1.1/poi-4.1.1.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/commons/commons-collections4/4.4/commons-collections4-4.4.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/commons/commons-math3/3.6.1/commons-math3-3.6.1.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/poi/poi-ooxml-schemas/4.1.1/poi-ooxml-schemas-4.1.1.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/xmlbeans/xmlbeans/3.1.0/xmlbeans-3.1.0.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/poi/poi-ooxml/4.1.1/poi-ooxml-4.1.1.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/commons/commons-compress/1.19/commons-compress-1.19.jar:/media/GTZQ/DATA/maven/local_repos/com/github/virtuald/curvesapi/1.06/curvesapi-1.06.jar:/media/GTZQ/DATA/maven/local_repos/org/jodconverter/jodconverter-core/4.2.2/jodconverter-core-4.2.2.jar:/media/GTZQ/DATA/maven/local_repos/com/google/code/gson/gson/2.8.5/gson-2.8.5.jar:/media/GTZQ/DATA/maven/local_repos/org/jodconverter/jodconverter-local/4.2.2/jodconverter-local-4.2.2.jar:/media/GTZQ/DATA/maven/local_repos/org/openoffice/juh/4.1.4/juh-4.1.4.jar:/media/GTZQ/DATA/maven/local_repos/org/openoffice/jurt/4.1.4/jurt-4.1.4.jar:/media/GTZQ/DATA/maven/local_repos/org/openoffice/ridl/4.1.4/ridl-4.1.4.jar:/media/GTZQ/DATA/maven/local_repos/org/openoffice/unoil/4.1.4/unoil-4.1.4.jar:/media/GTZQ/DATA/maven/local_repos/org/freemarker/freemarker/2.3.28/freemarker-2.3.28.jar:/media/GTZQ/DATA/maven/local_repos/org/springframework/boot/spring-boot-starter-tomcat/1.5.16.RELEASE/spring-boot-starter-tomcat-1.5.16.RELEASE.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/tomcat/tomcat-annotations-api/8.5.34/tomcat-annotations-api-8.5.34.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/tomcat/embed/tomcat-embed-core/8.5.34/tomcat-embed-core-8.5.34.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/tomcat/embed/tomcat-embed-el/8.5.34/tomcat-embed-el-8.5.34.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/tomcat/embed/tomcat-embed-websocket/8.5.34/tomcat-embed-websocket-8.5.34.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/tomcat/tomcat-jdbc/8.5.34/tomcat-jdbc-8.5.34.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/tomcat/tomcat-juli/8.5.34/tomcat-juli-8.5.34.jar:/media/GTZQ/DATA/maven/local_repos/com/itextpdf/itextpdf/5.5.13.1/itextpdf-5.5.13.1.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/poi/poi-scratchpad/4.1.1/poi-scratchpad-4.1.1.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/httpcomponents/httpmime/4.5.6/httpmime-4.5.6.jar:/media/GTZQ/DATA/maven/local_repos/com/googlecode/aviator/aviator/3.0.1/aviator-3.0.1.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/middleware/middleware-base-common/2.0.6/middleware-base-common-2.0.6.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/jrescloud-starter-cache/2.0.32/jrescloud-starter-cache-2.0.32.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/jrescloud-cache-core/2.0.32/jrescloud-cache-core-2.0.32.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/jrescloud-cache-api/2.0.32/jrescloud-cache-api-2.0.32.jar:/media/GTZQ/DATA/maven/local_repos/org/ehcache/ehcache/3.2.3/ehcache-3.2.3.jar:/media/GTZQ/DATA/maven/local_repos/org/springframework/data/spring-data-redis/1.8.15.RELEASE/spring-data-redis-1.8.15.RELEASE.jar:/media/GTZQ/DATA/maven/local_repos/org/springframework/data/spring-data-keyvalue/1.2.15.RELEASE/spring-data-keyvalue-1.2.15.RELEASE.jar:/media/GTZQ/DATA/maven/local_repos/org/springframework/spring-oxm/4.3.19.RELEASE/spring-oxm-4.3.19.RELEASE.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/jrescloud-cache-jedis/2.0.32/jrescloud-cache-jedis-2.0.32.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/jrescloud-cache-couchbase/2.0.32/jrescloud-cache-couchbase-2.0.32.jar:/media/GTZQ/DATA/maven/local_repos/com/couchbase/client/java-client/2.3.7/java-client-2.3.7.jar:/media/GTZQ/DATA/maven/local_repos/com/couchbase/client/core-io/1.3.7/core-io-1.3.7.jar:/media/GTZQ/DATA/maven/local_repos/io/reactivex/rxjava/1.1.8/rxjava-1.1.8.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/jrescloud-cache-redis/2.0.32/jrescloud-cache-redis-2.0.32.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/jrescloud-cache-local/2.0.32/jrescloud-cache-local-2.0.32.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/store/2.0.32/store-2.0.32.jar:/media/GTZQ/DATA/maven/local_repos/org/rocksdb/rocksdbjni/5.18.3/rocksdbjni-5.18.3.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/jrescloud-cache-monitor/2.0.32/jrescloud-cache-monitor-2.0.32.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/jrescloud-starter-mq-amqp/3.1.9/jrescloud-starter-mq-amqp-3.1.9.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/jrescloud-mq-core/3.1.9/jrescloud-mq-core-3.1.9.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/jrescloud-mq-api/3.1.9/jrescloud-mq-api-3.1.9.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/jrescloud-mq-adapter/3.1.9/jrescloud-mq-adapter-3.1.9.jar:/media/GTZQ/DATA/maven/local_repos/com/esotericsoftware/kryo/5.0.0-RC1/kryo-5.0.0-RC1.jar:/media/GTZQ/DATA/maven/local_repos/com/esotericsoftware/reflectasm/1.11.7/reflectasm-1.11.7.jar:/media/GTZQ/DATA/maven/local_repos/com/esotericsoftware/minlog/1.3.0/minlog-1.3.0.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/jrescloud-mq-monitor/3.1.9/jrescloud-mq-monitor-3.1.9.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/jrescloud-mq-amqp-configuration/3.1.9/jrescloud-mq-amqp-configuration-3.1.9.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/jrescloud-mq-amqp/3.1.9/jrescloud-mq-amqp-3.1.9.jar:/media/GTZQ/DATA/maven/local_repos/com/rabbitmq/amqp-client/4.8.1/amqp-client-4.8.1.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/jrescloud-rpc-api/2.0.32.2/jrescloud-rpc-api-2.0.32.2.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/jrescloud-common-t2/2.0.32.2/jrescloud-common-t2-2.0.32.2.jar:/media/GTZQ/DATA/maven/local_repos/org/jxls/jxls/2.6.0/jxls-2.6.0.jar:/media/GTZQ/DATA/maven/local_repos/org/jxls/jxls-poi/1.2.0/jxls-poi-1.2.0.jar:/media/GTZQ/DATA/maven/local_repos/org/jxls/jxls-jexcel/1.0.8/jxls-jexcel-1.0.8.jar:/media/GTZQ/DATA/maven/local_repos/org/jxls/jxls-reader/2.0.5/jxls-reader-2.0.5.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/commons/commons-jexl3/3.1/commons-jexl3-3.1.jar:/media/GTZQ/DATA/maven/local_repos/org/redisson/redisson/3.7.3/redisson-3.7.3.jar:/media/GTZQ/DATA/maven/local_repos/io/netty/netty-common/4.1.25.Final/netty-common-4.1.25.Final.jar:/media/GTZQ/DATA/maven/local_repos/io/netty/netty-codec/4.1.25.Final/netty-codec-4.1.25.Final.jar:/media/GTZQ/DATA/maven/local_repos/io/netty/netty-buffer/4.1.25.Final/netty-buffer-4.1.25.Final.jar:/media/GTZQ/DATA/maven/local_repos/io/netty/netty-transport/4.1.25.Final/netty-transport-4.1.25.Final.jar:/media/GTZQ/DATA/maven/local_repos/io/netty/netty-resolver/4.1.25.Final/netty-resolver-4.1.25.Final.jar:/media/GTZQ/DATA/maven/local_repos/io/netty/netty-resolver-dns/4.1.25.Final/netty-resolver-dns-4.1.25.Final.jar:/media/GTZQ/DATA/maven/local_repos/io/netty/netty-codec-dns/4.1.25.Final/netty-codec-dns-4.1.25.Final.jar:/media/GTZQ/DATA/maven/local_repos/io/netty/netty-handler/4.1.25.Final/netty-handler-4.1.25.Final.jar:/media/GTZQ/DATA/maven/local_repos/javax/cache/cache-api/1.0.0/cache-api-1.0.0.jar:/media/GTZQ/DATA/maven/local_repos/io/projectreactor/reactor-core/2.0.8.RELEASE/reactor-core-2.0.8.RELEASE.jar:/media/GTZQ/DATA/maven/local_repos/org/reactivestreams/reactive-streams/1.0.0/reactive-streams-1.0.0.jar:/media/GTZQ/DATA/maven/local_repos/net/bytebuddy/byte-buddy/1.8.11/byte-buddy-1.8.11.jar:/media/GTZQ/DATA/maven/local_repos/org/jodd/jodd-bean/3.7.1/jodd-bean-3.7.1.jar:/media/GTZQ/DATA/maven/local_repos/org/jodd/jodd-core/3.7.1/jodd-core-3.7.1.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/commons/commons-text/1.10.0/commons-text-1.10.0.jar:/media/GTZQ/DATA/maven/local_repos/org/jsoup/jsoup/1.17.2/jsoup-1.17.2.jar:/media/GTZQ/DATA/maven/local_repos/com/sun/mail/javax.mail/1.5.6/javax.mail-1.5.6.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/logging/log4j/log4j-core/2.17.2/log4j-core-2.17.2.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/logging/log4j/log4j-api/2.17.2/log4j-api-2.17.2.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/logging/log4j/log4j-slf4j-impl/2.17.2/log4j-slf4j-impl-2.17.2.jar:/media/GTZQ/DATA/maven/local_repos/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar:/media/GTZQ/DATA/maven/local_repos/com/alibaba/fastjson/1.2.83/fastjson-1.2.83.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/jrescloud-rpc-def/2.0.32.2/jrescloud-rpc-def-2.0.32.2.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/jrescloud-rpc-t2/2.0.32.2/jrescloud-rpc-t2-2.0.32.2.jar:/media/GTZQ/DATA/maven/local_repos/org/javassist/javassist/3.21.0-GA/javassist-3.21.0-GA.jar:/media/GTZQ/DATA/maven/local_repos/io/netty/netty/3.10.6.Final/netty-3.10.6.Final.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/curator/curator-framework/4.2.0/curator-framework-4.2.0.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/curator/curator-client/4.2.0/curator-client-4.2.0.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/curator/curator-recipes/4.2.0/curator-recipes-4.2.0.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/httpcomponents/httpcore/4.4.10/httpcore-4.4.10.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/httpcomponents/httpclient/4.5.6/httpclient-4.5.6.jar:/media/GTZQ/DATA/maven/local_repos/com/alibaba/nacos/nacos-client/1.1.4/nacos-client-1.1.4.jar:/media/GTZQ/DATA/maven/local_repos/com/alibaba/nacos/nacos-common/1.1.4/nacos-common-1.1.4.jar:/media/GTZQ/DATA/maven/local_repos/com/alibaba/nacos/nacos-api/1.1.4/nacos-api-1.1.4.jar:/media/GTZQ/DATA/maven/local_repos/io/prometheus/simpleclient/0.5.0/simpleclient-0.5.0.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/jrescloud-common-partition/2.0.32.2/jrescloud-common-partition-2.0.32.2.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/jrescloud-trace-protobuff/2.0.32.2/jrescloud-trace-protobuff-2.0.32.2.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/jrescloud-trace-core/2.0.32.2/jrescloud-trace-core-2.0.32.2.jar:/media/GTZQ/DATA/maven/local_repos/com/google/protobuf/protobuf-java/3.11.4/protobuf-java-3.11.4.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/kafka/kafka-clients/2.2.2/kafka-clients-2.2.2.jar:/media/GTZQ/DATA/maven/local_repos/com/github/luben/zstd-jni/1.3.8-1/zstd-jni-1.3.8-1.jar:/media/GTZQ/DATA/maven/local_repos/org/lz4/lz4-java/1.5.0/lz4-java-1.5.0.jar:/media/GTZQ/DATA/maven/local_repos/org/xerial/snappy/snappy-java/1.1.7.2/snappy-java-1.1.7.2.jar:/media/GTZQ/DATA/maven/local_repos/com/google/protobuf/protobuf-java-util/3.11.4/protobuf-java-util-3.11.4.jar:/media/GTZQ/DATA/maven/local_repos/com/google/errorprone/error_prone_annotations/2.3.4/error_prone_annotations-2.3.4.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/jrescloud-trace-json/2.0.32.2/jrescloud-trace-json-2.0.32.2.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/jrescloud-trace-common/2.0.32.2/jrescloud-trace-common-2.0.32.2.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/jrescloud-trace-api/2.0.32.2/jrescloud-trace-api-2.0.32.2.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/commons/commons-lang3/3.7/commons-lang3-3.7.jar:/media/GTZQ/DATA/maven/local_repos/com/github/xiaoymin/swagger-bootstrap-ui/1.9.6/swagger-bootstrap-ui-1.9.6.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/qin/qin-datasource/0.0.4-SNAPSHOT/qin-datasource-0.0.4-SNAPSHOT.jar:/media/GTZQ/DATA/maven/local_repos/org/aspectj/aspectjweaver/1.8.13/aspectjweaver-1.8.13.jar:/media/GTZQ/DATA/maven/local_repos/com/github/pagehelper/pagehelper-spring-boot-starter/1.2.10/pagehelper-spring-boot-starter-1.2.10.jar:/media/GTZQ/DATA/maven/local_repos/org/mybatis/spring/boot/mybatis-spring-boot-starter/1.3.2/mybatis-spring-boot-starter-1.3.2.jar:/media/GTZQ/DATA/maven/local_repos/org/mybatis/spring/boot/mybatis-spring-boot-autoconfigure/1.3.2/mybatis-spring-boot-autoconfigure-1.3.2.jar:/media/GTZQ/DATA/maven/local_repos/com/github/pagehelper/pagehelper-spring-boot-autoconfigure/1.2.10/pagehelper-spring-boot-autoconfigure-1.2.10.jar:/media/GTZQ/DATA/maven/local_repos/com/github/pagehelper/pagehelper/5.1.8/pagehelper-5.1.8.jar:/media/GTZQ/DATA/maven/local_repos/com/github/jsqlparser/jsqlparser/1.2/jsqlparser-1.2.jar:/media/GTZQ/DATA/maven/local_repos/org/springframework/boot/spring-boot-starter-web/1.5.16.RELEASE/spring-boot-starter-web-1.5.16.RELEASE.jar:/media/GTZQ/DATA/maven/local_repos/org/hibernate/hibernate-validator/5.3.6.Final/hibernate-validator-5.3.6.Final.jar:/media/GTZQ/DATA/maven/local_repos/javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final.jar:/media/GTZQ/DATA/maven/local_repos/org/springframework/boot/spring-boot-starter-undertow/1.5.16.RELEASE/spring-boot-starter-undertow-1.5.16.RELEASE.jar:/media/GTZQ/DATA/maven/local_repos/io/undertow/undertow-servlet/1.4.25.Final/undertow-servlet-1.4.25.Final.jar:/media/GTZQ/DATA/maven/local_repos/org/jboss/spec/javax/annotation/jboss-annotations-api_1.2_spec/1.0.2.Final/jboss-annotations-api_1.2_spec-1.0.2.Final.jar:/media/GTZQ/DATA/maven/local_repos/io/undertow/undertow-websockets-jsr/1.4.25.Final/undertow-websockets-jsr-1.4.25.Final.jar:/media/GTZQ/DATA/maven/local_repos/org/jboss/spec/javax/websocket/jboss-websocket-api_1.1_spec/1.1.3.Final/jboss-websocket-api_1.1_spec-1.1.3.Final.jar:/media/GTZQ/DATA/maven/local_repos/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar:/media/GTZQ/DATA/maven/local_repos/org/glassfish/javax.el/3.0.0/javax.el-3.0.0.jar:/media/GTZQ/DATA/maven/local_repos/io/springfox/springfox-swagger2/2.9.2/springfox-swagger2-2.9.2.jar:/media/GTZQ/DATA/maven/local_repos/io/swagger/swagger-models/1.5.20/swagger-models-1.5.20.jar:/media/GTZQ/DATA/maven/local_repos/io/springfox/springfox-spi/2.9.2/springfox-spi-2.9.2.jar:/media/GTZQ/DATA/maven/local_repos/io/springfox/springfox-core/2.9.2/springfox-core-2.9.2.jar:/media/GTZQ/DATA/maven/local_repos/io/springfox/springfox-schema/2.9.2/springfox-schema-2.9.2.jar:/media/GTZQ/DATA/maven/local_repos/io/springfox/springfox-swagger-common/2.9.2/springfox-swagger-common-2.9.2.jar:/media/GTZQ/DATA/maven/local_repos/io/springfox/springfox-spring-web/2.9.2/springfox-spring-web-2.9.2.jar:/media/GTZQ/DATA/maven/local_repos/com/google/guava/guava/20.0/guava-20.0.jar:/media/GTZQ/DATA/maven/local_repos/com/fasterxml/classmate/1.3.4/classmate-1.3.4.jar:/media/GTZQ/DATA/maven/local_repos/org/springframework/plugin/spring-plugin-core/1.2.0.RELEASE/spring-plugin-core-1.2.0.RELEASE.jar:/media/GTZQ/DATA/maven/local_repos/org/springframework/plugin/spring-plugin-metadata/1.2.0.RELEASE/spring-plugin-metadata-1.2.0.RELEASE.jar:/media/GTZQ/DATA/maven/local_repos/org/mapstruct/mapstruct/1.2.0.Final/mapstruct-1.2.0.Final.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/cxf/cxf-spring-boot-starter-jaxws/3.2.5/cxf-spring-boot-starter-jaxws-3.2.5.jar:/media/GTZQ/DATA/maven/local_repos/org/springframework/boot/spring-boot-starter/1.5.16.RELEASE/spring-boot-starter-1.5.16.RELEASE.jar:/media/GTZQ/DATA/maven/local_repos/org/springframework/boot/spring-boot/1.5.16.RELEASE/spring-boot-1.5.16.RELEASE.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/cxf/cxf-spring-boot-autoconfigure/3.2.5/cxf-spring-boot-autoconfigure-3.2.5.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/cxf/cxf-rt-transports-http/3.2.5/cxf-rt-transports-http-3.2.5.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/cxf/cxf-core/3.2.5/cxf-core-3.2.5.jar:/media/GTZQ/DATA/maven/local_repos/com/fasterxml/woodstox/woodstox-core/5.0.3/woodstox-core-5.0.3.jar:/media/GTZQ/DATA/maven/local_repos/org/codehaus/woodstox/stax2-api/3.1.4/stax2-api-3.1.4.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/ws/xmlschema/xmlschema-core/2.2.3/xmlschema-core-2.2.3.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/cxf/cxf-rt-frontend-jaxws/3.2.5/cxf-rt-frontend-jaxws-3.2.5.jar:/media/GTZQ/DATA/maven/local_repos/xml-resolver/xml-resolver/1.2/xml-resolver-1.2.jar:/media/GTZQ/DATA/maven/local_repos/org/ow2/asm/asm/5.2/asm-5.2.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/cxf/cxf-rt-bindings-soap/3.2.5/cxf-rt-bindings-soap-3.2.5.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/cxf/cxf-rt-wsdl/3.2.5/cxf-rt-wsdl-3.2.5.jar:/media/GTZQ/DATA/maven/local_repos/wsdl4j/wsdl4j/1.6.3/wsdl4j-1.6.3.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/cxf/cxf-rt-databinding-jaxb/3.2.5/cxf-rt-databinding-jaxb-3.2.5.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/cxf/cxf-rt-bindings-xml/3.2.5/cxf-rt-bindings-xml-3.2.5.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/cxf/cxf-rt-frontend-simple/3.2.5/cxf-rt-frontend-simple-3.2.5.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/cxf/cxf-rt-ws-addr/3.2.5/cxf-rt-ws-addr-3.2.5.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/cxf/cxf-rt-ws-policy/3.2.5/cxf-rt-ws-policy-3.2.5.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/neethi/neethi/3.1.1/neethi-3.1.1.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/zookeeper/zookeeper/3.4.14/zookeeper-3.4.14.jar:/media/GTZQ/DATA/maven/local_repos/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar:/media/GTZQ/DATA/maven/local_repos/commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.jar:/media/GTZQ/DATA/maven/local_repos/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar:/media/GTZQ/DATA/maven/local_repos/com/alibaba/druid-spring-boot-starter/1.2.9/druid-spring-boot-starter-1.2.9.jar:/media/GTZQ/DATA/maven/local_repos/org/springframework/boot/spring-boot-autoconfigure/1.5.16.RELEASE/spring-boot-autoconfigure-1.5.16.RELEASE.jar:/media/GTZQ/DATA/maven/local_repos/org/springframework/boot/spring-boot-starter-actuator/1.5.16.RELEASE/spring-boot-starter-actuator-1.5.16.RELEASE.jar:/media/GTZQ/DATA/maven/local_repos/org/springframework/boot/spring-boot-actuator/1.5.16.RELEASE/spring-boot-actuator-1.5.16.RELEASE.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/middleware/middleware-starter-fstore/1.0.3/middleware-starter-fstore-1.0.3.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/middleware/middleware-fstore-core/1.0.3/middleware-fstore-core-1.0.3.jar:/media/GTZQ/DATA/maven/local_repos/io/searchbox/jest/2.0.4/jest-2.0.4.jar:/media/GTZQ/DATA/maven/local_repos/io/searchbox/jest-common/2.0.4/jest-common-2.0.4.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/httpcomponents/httpcore-nio/4.4.4/httpcore-nio-4.4.4.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/httpcomponents/httpasyncclient/4.1.4/httpasyncclient-4.1.4.jar:/media/GTZQ/DATA/maven/local_repos/org/elasticsearch/elasticsearch/2.4.6/elasticsearch-2.4.6.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/lucene/lucene-core/5.5.4/lucene-core-5.5.4.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/lucene/lucene-backward-codecs/5.5.4/lucene-backward-codecs-5.5.4.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/lucene/lucene-analyzers-common/5.5.4/lucene-analyzers-common-5.5.4.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/lucene/lucene-queries/5.5.4/lucene-queries-5.5.4.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/lucene/lucene-memory/5.5.4/lucene-memory-5.5.4.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/lucene/lucene-highlighter/5.5.4/lucene-highlighter-5.5.4.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/lucene/lucene-queryparser/5.5.4/lucene-queryparser-5.5.4.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/lucene/lucene-sandbox/5.5.4/lucene-sandbox-5.5.4.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/lucene/lucene-suggest/5.5.4/lucene-suggest-5.5.4.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/lucene/lucene-misc/5.5.4/lucene-misc-5.5.4.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/lucene/lucene-join/5.5.4/lucene-join-5.5.4.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/lucene/lucene-grouping/5.5.4/lucene-grouping-5.5.4.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/lucene/lucene-spatial/5.5.4/lucene-spatial-5.5.4.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/lucene/lucene-spatial3d/5.5.4/lucene-spatial3d-5.5.4.jar:/media/GTZQ/DATA/maven/local_repos/com/spatial4j/spatial4j/0.5/spatial4j-0.5.jar:/media/GTZQ/DATA/maven/local_repos/org/elasticsearch/securesm/1.0/securesm-1.0.jar:/media/GTZQ/DATA/maven/local_repos/com/carrotsearch/hppc/0.7.1/hppc-0.7.1.jar:/media/GTZQ/DATA/maven/local_repos/joda-time/joda-time/2.9.9/joda-time-2.9.9.jar:/media/GTZQ/DATA/maven/local_repos/com/ning/compress-lzf/1.0.2/compress-lzf-1.0.2.jar:/media/GTZQ/DATA/maven/local_repos/com/tdunning/t-digest/3.0/t-digest-3.0.jar:/media/GTZQ/DATA/maven/local_repos/org/hdrhistogram/HdrHistogram/2.1.6/HdrHistogram-2.1.6.jar:/media/GTZQ/DATA/maven/local_repos/commons-cli/commons-cli/1.3.1/commons-cli-1.3.1.jar:/media/GTZQ/DATA/maven/local_repos/com/twitter/jsr166e/1.1.0/jsr166e-1.1.0.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/middleware/middleware-fstore-api/1.0.3/middleware-fstore-api-1.0.3.jar:/media/GTZQ/DATA/maven/local_repos/com/hundsun/jrescloud/middleware/middleware-base-exception/1.0.0/middleware-base-exception-1.0.0.jar:/media/GTZQ/DATA/maven/local_repos/net/coobird/thumbnailator/0.4.8/thumbnailator-0.4.8.jar:/media/GTZQ/DATA/maven/local_repos/org/apache/commons/commons-pool2/2.4.3/commons-pool2-2.4.3.jar:/media/GTZQ/DATA/maven/local_repos/org/hibernate/validator/hibernate-validator/6.0.14.Final/hibernate-validator-6.0.14.Final.jar:/media/GTZQ/DATA/workspace/api-repos/api-doc/target/classes:/media/GTZQ/DATA/maven/local_repos/org/objenesis/objenesis/2.1/objenesis-2.1.jar:/opt/apps/idea-iu/lib/idea_rt.jar com.hundsun.amop.tgreportfacade.server.ServiceApplication Connected to the target VM, address: '127.0.0.1:37871', transport: 'socket' 2025-11-12 15:53:40,862 main ERROR Error creating converter for xwEx java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.logging.log4j.core.pattern.PatternParser.createConverter(PatternParser.java:590) at org.apache.logging.log4j.core.pattern.PatternParser.finalizeConverter(PatternParser.java:657) at org.apache.logging.log4j.core.pattern.PatternParser.parse(PatternParser.java:420) at org.apache.logging.log4j.core.pattern.PatternParser.parse(PatternParser.java:177) at org.apache.logging.log4j.core.layout.PatternLayout$SerializerBuilder.build(PatternLayout.java:473) at org.apache.logging.log4j.core.layout.PatternLayout.<init>(PatternLayout.java:139) at org.apache.logging.log4j.core.layout.PatternLayout.<init>(PatternLayout.java:60) at org.apache.logging.log4j.core.layout.PatternLayout$Builder.build(PatternLayout.java:766) at org.apache.logging.log4j.core.layout.PatternLayout$Builder.build(PatternLayout.java:626) at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:124) at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:1122) at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:1047) at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:1039) at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:1039) at org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:651) at org.apache.logging.log4j.core.configuration.ExtendedXmlConfigurationFactory$ExtendedXmlConfiguration.doConfigure(ExtendedXmlConfigurationFactory.java:48) at org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:249) at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:295) at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:621) at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:285) at org.springframework.boot.logging.log4j2.Log4J2LoggingSystem.loadConfiguration(Log4J2LoggingSystem.java:176) at org.springframework.boot.logging.log4j2.Log4J2LoggingSystem.loadDefaults(Log4J2LoggingSystem.java:159) at org.springframework.boot.logging.AbstractLoggingSystem.initializeWithConventions(AbstractLoggingSystem.java:84) at org.springframework.boot.logging.AbstractLoggingSystem.initialize(AbstractLoggingSystem.java:59) at org.springframework.boot.logging.log4j2.Log4J2LoggingSystem.initialize(Log4J2LoggingSystem.java:148) at org.springframework.boot.logging.LoggingApplicationListener.initializeSystem(LoggingApplicationListener.java:304) at org.springframework.boot.logging.LoggingApplicationListener.initialize(LoggingApplicationListener.java:277) at org.springframework.boot.logging.LoggingApplicationListener.onApplicationEnvironmentPreparedEvent(LoggingApplicationListener.java:240) at org.springframework.boot.logging.LoggingApplicationListener.onApplicationEvent(LoggingApplicationListener.java:213) at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172) at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:122) at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:74) at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:54) at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:325) at org.springframework.boot.SpringApplication.run(SpringApplication.java:296) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1118) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1107) at com.hundsun.jrescloud.common.boot.CloudBootstrap.run(CloudBootstrap.java:67) at com.hundsun.jrescloud.common.boot.CloudBootstrap.run(CloudBootstrap.java:48) at com.hundsun.amop.tgreportfacade.server.ServiceApplication.main(ServiceApplication.java:46) Caused by: java.lang.NoSuchMethodError: org.apache.logging.log4j.core.pattern.ExtendedThrowablePatternConverter.newInstance([Ljava/lang/String;)Lorg/apache/logging/log4j/core/pattern/ExtendedThrowablePatternConverter; at org.springframework.boot.logging.log4j2.ExtendedWhitespaceThrowablePatternConverter.<init>(ExtendedWhitespaceThrowablePatternConverter.java:43) at org.springframework.boot.logging.log4j2.ExtendedWhitespaceThrowablePatternConverter.newInstance(ExtendedWhitespaceThrowablePatternConverter.java:63) ... 46 more 2025-11-12 15:53:40,868 main ERROR Unrecognized conversion specifier [xwEx] starting at position 162 in conversion pattern. . _ _____ ______ _____ ____ ___ __ _ _ /\\ | | __ \| ____|/ ____|___ \ / _ \ \ \ \ \ ( ( )| | |__) | |__ | (___ __) | | | | \ \ \ \ \\/ | | _ /| __| \___ \ |__ <| | | | ) ) ) ) | |__| | | \ \| |____ ____) |___) | |_| | / / / / \____/|_| \_\______|_____/|____(_)___/ /_/_/_/ =============================================== :: Spring Boot :: (1.5.16.RELEASE) :: JRESCloud :: (v2.0.32.2) :: DeployVersion :: (${app.deploy.version}) :: Application :: (${app.name} | g | v) 2025-11-12 15:53:41.063 INFO 601102 --- [ main] c.h.a.t.s.ServiceApplication : Starting ServiceApplication on GTZQ-pc with PID 601102 (/media/GTZQ/DATA/workspace/hundsun-ext/amop-tgreportfacade/amop-tgreportfacade-service/target/classes started by GTZQ in /media/GTZQ/DATA/workspace) %xwEx2025-11-12 15:53:41.070 INFO 601102 --- [ main] c.h.a.t.s.ServiceApplication : No active profile set, falling back to default profiles: default %xwEx2025-11-12 15:53:41.250 INFO 601102 --- [ main] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@632aa1a3: startup date [Wed Nov 12 15:53:41 CST 2025]; root of context hierarchy %xwEx2025-11-12 15:53:43.090 INFO 601102 --- [ main] o.s.b.f.s.DefaultListableBeanFactory : Overriding bean definition for bean 'sqlSessionFactory' with a different definition: replacing [Root bean: class [null]; scope=; abstract=false; lazyInit=false; autowireMode=3; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=qinAutoConfiguration; factoryMethodName=sqlSessionFactory; initMethodName=null; destroyMethodName=(inferred); defined in class path resource [com/hundsun/qin/datasource/QinAutoConfiguration.class]] with [Root bean: class [null]; scope=; abstract=false; lazyInit=false; autowireMode=3; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=multipleDataSourceConfig; factoryMethodName=sqlSessionFactory; initMethodName=null; destroyMethodName=(inferred); defined in class path resource [com/hundsun/amop/tgreportfacade/server/config/MultipleDataSourceConfig.class]] %xwEx2025-11-12 15:53:43.252 WARN 601102 --- [ main] t.m.s.m.ClassPathMapperScanner : Skipping MapperFactoryBean with name 'fundInfoMapper' and 'com.hundsun.amop.tgreportfacade.server.datasource.dao.FundInfoMapper' mapperInterface. Bean already defined with the same name! %xwEx2025-11-12 15:53:43.252 WARN 601102 --- [ main] t.m.s.m.ClassPathMapperScanner : Skipping MapperFactoryBean with name 'pposQyrptFileRecordsMapper' and 'com.hundsun.amop.tgreportfacade.server.datasource.dao.PposQyrptFileRecordsMapper' mapperInterface. Bean already defined with the same name! %xwEx2025-11-12 15:53:43.252 WARN 601102 --- [ main] t.m.s.m.ClassPathMapperScanner : Skipping MapperFactoryBean with name 'valuaReturnRecordMapper' and 'com.hundsun.amop.tgreportfacade.server.datasource.dao.ValuaReturnRecordMapper' mapperInterface. Bean already defined with the same name! %xwEx2025-11-12 15:53:43.252 WARN 601102 --- [ main] t.m.s.m.ClassPathMapperScanner : Skipping MapperFactoryBean with name 'valuationScanMapper' and 'com.hundsun.amop.tgreportfacade.server.datasource.dao.ValuationScanMapper' mapperInterface. Bean already defined with the same name! %xwEx2025-11-12 15:53:43.252 WARN 601102 --- [ main] t.m.s.m.ClassPathMapperScanner : No MyBatis mapper was found in '[com.hundsun.amop.tgreportfacade.server]' package. Please check your configuration. %xwEx2025-11-12 15:53:43.290 WARN 601102 --- [ main] c.h.j.c.u.ConfigUtils : The application environment is Null, please check. %xwEx2025-11-12 15:53:43.290 WARN 601102 --- [ main] c.h.j.c.u.ConfigUtils : The application environment is Null, please check. %xwEx2025-11-12 15:53:43.290 WARN 601102 --- [ main] c.h.j.c.u.ConfigUtils : The application environment is Null, please check. %xwEx2025-11-12 15:53:43.291 WARN 601102 --- [ main] c.h.j.c.u.ConfigUtils : The application environment is Null, please check. %xwEx2025-11-12 15:53:43.291 WARN 601102 --- [ main] c.h.j.c.u.ConfigUtils : The application environment is Null, please check. %xwEx2025-11-12 15:53:43.291 WARN 601102 --- [ main] c.h.j.c.u.ConfigUtils : The application environment is Null, please check. %xwEx2025-11-12 15:53:43.291 WARN 601102 --- [ main] c.h.j.c.u.ConfigUtils : The application environment is Null, please check. %xwEx2025-11-12 15:53:43.291 WARN 601102 --- [ main] c.h.j.c.u.ConfigUtils : The application environment is Null, please check. %xwEx2025-11-12 15:53:43.291 WARN 601102 --- [ main] c.h.j.c.u.ConfigUtils : The application environment is Null, please check. %xwEx2025-11-12 15:53:43.340 INFO 601102 --- [ main] o.s.b.f.x.XmlBeanDefinitionReader : Loading XML bean definitions from class path resource [META-INF/cxf/cxf.xml] %xwEx2025-11-12 15:53:43.659 INFO 601102 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode! %xwEx2025-11-12 15:53:44.359 INFO 601102 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$1b7a4d3a] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) %xwEx2025-11-12 15:53:44.589 INFO 601102 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'com.hundsun.jrescloud.common.config.CloudAutoConfiguration' of type [com.hundsun.jrescloud.common.config.CloudAutoConfiguration$$EnhancerBySpringCGLIB$$bfb999bb] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) %xwEx2025-11-12 15:53:44.598 INFO 601102 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'springUtils' of type [com.hundsun.jrescloud.common.util.SpringUtils] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) %xwEx2025-11-12 15:53:44.757 INFO 601102 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'rpc-com.hundsun.jrescloud.rpc.def.RpcProperties' of type [com.hundsun.jrescloud.rpc.def.RpcProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) %xwEx2025-11-12 15:53:44.760 INFO 601102 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'com.hundsun.jrescloud.rpc.def.RpcAutoConfiguration' of type [com.hundsun.jrescloud.rpc.def.RpcAutoConfiguration$$EnhancerBySpringCGLIB$$89d8e1f4] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) %xwEx2025-11-12 15:53:44.775 WARN 601102 --- [ main] c.h.j.c.u.ConfigUtils : The environment variable in ConfigUtils is Null, please verify! %xwEx2025-11-12 15:53:44.776 WARN 601102 --- [ main] c.h.j.c.u.ConfigUtils : The application environment is Null, please check. %xwEx2025-11-12 15:53:44.776 WARN 601102 --- [ main] c.h.j.c.u.ConfigUtils : The application environment is Null, please check. %xwEx2025-11-12 15:53:44.799 INFO 601102 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'serviceDefinitionUtil' of type [com.hundsun.jrescloud.rpc.t2.util.ServiceDefinitionUtil] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) %xwEx2025-11-12 15:53:44.802 WARN 601102 --- [ main] c.h.j.c.u.ConfigUtils : The environment variable in ConfigUtils is Null, please verify! %xwEx2025-11-12 15:53:44.805 INFO 601102 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'serverLicenseParser' of type [com.hundsun.jrescloud.rpc.t2.license.ServerLicenseParser] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) %xwEx2025-11-12 15:53:44.806 WARN 601102 --- [ main] c.h.j.c.u.ConfigUtils : The environment variable in ConfigUtils is Null, please verify! %xwEx2025-11-12 15:53:44.807 WARN 601102 --- [ main] c.h.j.c.u.ConfigUtils : The environment variable in ConfigUtils is Null, please verify! %xwEx2025-11-12 15:53:44.807 WARN 601102 --- [ main] c.h.j.c.u.ConfigUtils : The environment variable in ConfigUtils is Null, please verify! %xwEx2025-11-12 15:53:44.807 WARN 601102 --- [ main] c.h.j.c.u.ConfigUtils : The environment variable in ConfigUtils is Null, please verify! %xwEx2025-11-12 15:53:44.807 WARN 601102 --- [ main] c.h.j.c.u.ConfigUtils : The environment variable in ConfigUtils is Null, please verify! %xwEx2025-11-12 15:53:44.807 WARN 601102 --- [ main] c.h.j.c.u.ConfigUtils : The environment variable in ConfigUtils is Null, please verify! %xwEx2025-11-12 15:53:44.807 WARN 601102 --- [ main] c.h.j.c.u.ConfigUtils : The environment variable in ConfigUtils is Null, please verify! %xwEx2025-11-12 15:53:44.810 INFO 601102 --- [ main] c.a.d.c.l.LoggerFactory : using logger: com.alibaba.dubbo.common.logger.slf4j.Slf4jLoggerAdapter %xwEx2025-11-12 15:53:44.812 WARN 601102 --- [ main] c.h.j.c.u.ConfigUtils : The environment variable in ConfigUtils is Null, please verify! %xwEx2025-11-12 15:53:44.812 WARN 601102 --- [ main] c.h.j.c.u.ConfigUtils : The application environment is Null, please check. %xwEx2025-11-12 15:53:44.863 WARN 601102 --- [ main] c.h.j.c.u.ConfigUtils : The application environment is Null, please check. %xwEx2025-11-12 15:53:44.863 WARN 601102 --- [ main] c.h.j.c.u.ConfigUtils : The application environment is Null, please check. %xwEx2025-11-12 15:53:44.863 WARN 601102 --- [ main] c.h.j.c.u.ConfigUtils : The application environment is Null, please check. %xwEx2025-11-12 15:53:44.863 WARN 601102 --- [ main] c.h.j.c.u.ConfigUtils : The environment variable in ConfigUtils is Null, please verify! %xwEx2025-11-12 15:53:45.196 INFO 601102 --- [ main] o.xnio : XNIO version 3.3.8.Final %xwEx2025-11-12 15:53:45.210 INFO 601102 --- [ main] o.x.nio : XNIO NIO Implementation Version 3.3.8.Final %xwEx2025-11-12 15:53:45.238 WARN 601102 --- [ main] i.u.w.jsr : UT026009: XNIO worker was not set on WebSocketDeploymentInfo, the default worker will be used %xwEx2025-11-12 15:53:45.238 WARN 601102 --- [ main] i.u.w.jsr : UT026010: Buffer pool was not set on WebSocketDeploymentInfo, the default pool will be used %xwEx2025-11-12 15:53:45.272 INFO 601102 --- [ main] i.u.servlet : Initializing Spring embedded WebApplicationContext %xwEx2025-11-12 15:53:45.272 INFO 601102 --- [ main] o.s.w.c.ContextLoader : Root WebApplicationContext: initialization completed in 4023 ms %xwEx2025-11-12 15:53:45.701 INFO 601102 --- [ main] o.s.b.w.s.ServletRegistrationBean : Mapping servlet: 'dispatcherServlet' to [/] %xwEx2025-11-12 15:53:45.705 INFO 601102 --- [ main] o.s.b.w.s.ServletRegistrationBean : Mapping servlet: 'CXFServlet' to [/services/*] %xwEx2025-11-12 15:53:45.707 INFO 601102 --- [ main] o.s.b.w.s.FilterRegistrationBean : Mapping filter: 'metricsFilter' to: [/*] %xwEx2025-11-12 15:53:45.708 INFO 601102 --- [ main] o.s.b.w.s.FilterRegistrationBean : Mapping filter: 'characterEncodingFilter' to: [/*] %xwEx2025-11-12 15:53:45.708 INFO 601102 --- [ main] o.s.b.w.s.FilterRegistrationBean : Mapping filter: 'webRequestLoggingFilter' to: [/*] %xwEx2025-11-12 15:53:45.709 INFO 601102 --- [ main] o.s.b.w.s.FilterRegistrationBean : Mapping filter: 'applicationContextIdFilter' to: [/*] %xwEx2025-11-12 15:53:45.795 INFO 601102 --- [ main] c.h.q.p.c.e.b.h.ErrorCodeContainer : %xwEx2025-11-12 15:53:46.255 WARN 601102 --- [ main] ationConfigEmbeddedWebApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'reportFileApiServiceImpl': Unsatisfied dependency expressed through field 'exportAutoTask'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'exportAutoTask': Unsatisfied dependency expressed through field 'fundInfoAtom'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'fundInfoAtomImpl': Unsatisfied dependency expressed through field 'fundInfoMapper'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'fundInfoMapper' defined in file [/media/GTZQ/DATA/workspace/hundsun-ext/amop-tgreportfacade/amop-tgreportfacade-service/target/classes/com/hundsun/amop/tgreportfacade/server/datasource/dao/FundInfoMapper.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [com/hundsun/amop/tgreportfacade/server/config/MultipleDataSourceConfig.class]: Unsatisfied dependency expressed through method 'sqlSessionFactory' parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'dynamicDataSource' defined in class path resource [com/hundsun/amop/tgreportfacade/server/config/MultipleDataSourceConfig.class]: Unsatisfied dependency expressed through method 'dynamicDataSource' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'tgdatasource' defined in class path resource [com/hundsun/amop/tgreportfacade/server/config/MultipleDataSourceConfig.class]: Invocation of init method failed; nested exception is org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException: Cannot determine embedded database driver class for database type NONE. If you want an embedded database please put a supported one on the classpath. If you have database settings to be loaded from a particular profile you may need to active it (no profiles are currently active). %xwEx2025-11-12 15:53:46.262 INFO 601102 --- [ main] c.a.d.r.s.AbstractRegistryFactory : [DUBBO] Close all registries [], dubbo version: 2.0.32.2, current host: 127.0.0.1 %xwEx2025-11-12 15:53:46.299 INFO 601102 --- [ main] utoConfigurationReportLoggingInitializer : Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled. %xwEx2025-11-12 15:53:46.312 ERROR 601102 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter :
最新发布
11-13
build.gradle(app):apply plugin: 'com.android.application' android { compileSdkVersion 28 defaultConfig { applicationId "com.hik.netsdk.SimpleDemo" minSdkVersion 15 targetSdkVersion 28 versionCode 11 versionName "3.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" vectorDrawables.useSupportLibrary = true multiDexEnabled true ndk { abiFilters "armeabi-v7a","arm64-v8a" } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } sourceSets { main { res.srcDirs = [ 'src/main/res', 'src/main/res/layout/DevMgtUI', 'src/main/res/layout/BusinessUI' ] jniLibs.srcDirs = ['libs'] } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } buildToolsVersion = '28.0.3' } dependencies { implementation files('libs/HCNetSDK.jar') implementation files('libs/PlayerSDK_hcnetsdk.jar') implementation fileTree(include: ['*.jar'], dir: 'libs') implementation 'com.squareup.okhttp3:okhttp:4.9.1' implementation 'androidx.appcompat:appcompat:1.4.1' implementation 'com.google.android.material:material:1.5.0' // 替代 design implementation 'androidx.constraintlayout:constraintlayout:2.1.3' implementation 'androidx.legacy:legacy-support-v4:1.0.0' // 替代 support-v4 testImplementation 'junit:junit:4.12' androidTestImplementation 'androidx.test:runner:1.4.0' androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' implementation 'io.github.ezviz-open:ezviz-sdk:5.20' // implementation 'com.ezviz:sdk:4.19.5' compile 'com.ezviz.sdk:ezuikit:2.2.1' implementation files('libs/PlayerSDK.jar') implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar']) implementation files('libs/ERTC_Android_SDK_1.5.0.1.aar') // 添加必要支持库 implementation 'com.squareup.okhttp3:okhttp:3.12.1' implementation 'com.google.code.gson:gson:2.8.5' // 海康SDK - 确保已添加 implementation files('libs/hikvision-sdk.jar') implementation "androidx.media3:media3-exoplayer:1.3.1" implementation "androidx.media3:media3-exoplayer-hls:1.3.1" implementation "androidx.media3:media3-ui:1.3.1" implementation "androidx.media3:media3-datasource-okhttp:1.3.1" // 确保添加了基础库 implementation "androidx.media3:media3-common:1.3.1" } MainActivity:package com.hik.netsdk.SimpleDemo.View; import android.app.AlertDialog; import android.content.Intent; import android.graphics.PixelFormat; import android.net.Uri; import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.SurfaceHolder; import android.view.SurfaceView; import android.view.View; import android.widget.ImageButton; import android.widget.ProgressBar; import android.widget.RelativeLayout; import android.widget.Toast; import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.widget.Toolbar; import androidx.core.view.GravityCompat; import androidx.drawerlayout.widget.DrawerLayout; // AndroidX Media3 导入 import androidx.media3.common.MediaItem; import androidx.media3.common.Player; import androidx.media3.common.PlaybackException; import androidx.media3.datasource.DataSource; import androidx.media3.datasource.DefaultHttpDataSource; import androidx.media3.exoplayer.ExoPlayer; import androidx.media3.exoplayer.hls.HlsMediaSource; import androidx.media3.exoplayer.source.MediaSource; import com.hik.netsdk.SimpleDemo.R; import com.hik.netsdk.SimpleDemo.View.DevMgtUI.AddDevActivity; import com.videogo.openapi.EZConstants; import com.videogo.openapi.EZOpenSDK; import org.json.JSONException; import org.json.JSONObject; import java.io.IOException; import java.util.concurrent.TimeUnit; import okhttp3.MediaType; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.RequestBody; import okhttp3.Response; public class MainActivity extends AppCompatActivity implements SurfaceHolder.Callback { // 核心参数 private String mDeviceSerial; private String mVerifyCode; private int mCameraNo = 1; private boolean isEzDevice = false; // 萤石云相关参数 private String mAppKey = "a794d58c13154caeb7d2fbb5c3420c65"; private String mAccessToken = ""; // UI组件 private SurfaceView mPreviewSurface; private SurfaceHolder mSurfaceHolder; private Toolbar m_toolbar; private ProgressBar mProgressBar; private RelativeLayout mControlLayout; private ImageButton mRotateButton; // 播放器相关 private ExoPlayer mExoPlayer; private String mPlaybackUrl; private final OkHttpClient mHttpClient = new OkHttpClient.Builder() .connectTimeout(15, TimeUnit.SECONDS) .readTimeout(15, TimeUnit.SECONDS) .build(); // 播放器状态监听器 private final Player.Listener mPlayerListener = new Player.Listener() { @Override public void onPlaybackStateChanged(int state) { switch (state) { case Player.STATE_READY: mProgressBar.setVisibility(View.GONE); Log.d("ExoPlayer", "播放准备就绪"); break; case Player.STATE_BUFFERING: mProgressBar.setVisibility(View.VISIBLE); Log.d("ExoPlayer", "缓冲中..."); break; case Player.STATE_ENDED: Log.d("ExoPlayer", "播放结束"); break; case Player.STATE_IDLE: Log.d("ExoPlayer", "空闲状态"); break; } } @Override public void onPlayerError(PlaybackException error) { // 使用正确的异常类型 Log.e("ExoPlayer", "播放错误: " + error.getMessage()); handleError("播放错误: " + error.getMessage(), -1); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 初始化UI组件 initUIComponents(); // 获取启动参数 parseIntentParams(); // 初始化SDK initSDK(); // 参数校验 if (mDeviceSerial == null || mDeviceSerial.isEmpty()) { showErrorAndFinish("设备序列号不能为空"); return; } Log.d("MainActivity", "onCreate完成: isEzDevice=" + isEzDevice); } private void initUIComponents() { // 基础UI m_toolbar = findViewById(R.id.toolbar); setSupportActionBar(m_toolbar); // 预览相关UI mPreviewSurface = findViewById(R.id.realplay_sv); mSurfaceHolder = mPreviewSurface.getHolder(); mSurfaceHolder.addCallback(this); mSurfaceHolder.setFormat(PixelFormat.TRANSLUCENT); mProgressBar = findViewById(R.id.liveProgressBar); mControlLayout = findViewById(R.id.rl_control); mRotateButton = findViewById(R.id.ib_rotate2); // 设置旋转按钮点击事件 mRotateButton.setOnClickListener(v -> changeScreen()); // 隐藏管理UI DrawerLayout drawer = findViewById(R.id.drawer_layout); if (drawer != null) { drawer.setVisibility(View.GONE); } if (m_toolbar != null) { m_toolbar.setVisibility(View.GONE); } // 初始化控制按钮 initControlButtons(); Log.d("UI", "UI组件初始化完成"); } private void parseIntentParams() { // 获取Intent参数 Intent intent = getIntent(); isEzDevice = true; // 只支持萤石设备 mAccessToken = intent.getStringExtra("accessToken"); // 优先使用bundle Bundle bundle = intent.getExtras(); if (bundle != null) { mDeviceSerial = bundle.getString("devSn"); mVerifyCode = bundle.getString("verifyCode"); mCameraNo = bundle.getInt("cameraNo", 1); } // 兼容直接Extra方式 if (mDeviceSerial == null) mDeviceSerial = intent.getStringExtra("devSn"); if (mVerifyCode == null) mVerifyCode = intent.getStringExtra("verifyCode"); if (mCameraNo == 0) mCameraNo = intent.getIntExtra("cameraNo", 1); Log.d("Params", "设备序列号: " + mDeviceSerial + ", 通道号: " + mCameraNo); } private void initSDK() { try { // 使用反射检查初始化状态 boolean isInitialized = false; try { // 尝试获取实例 EZOpenSDK instance = EZOpenSDK.getInstance(); if (instance != null) { isInitialized = true; } } catch (Exception e) { // 捕获初始化的异常 isInitialized = false; } // 初始化时进行初始化 if (!isInitialized) { EZOpenSDK.initLib(getApplication(), mAppKey); Log.d("EZSDK", "萤石SDK初始化完成"); } // 设置AccessToken if (mAccessToken != null && !mAccessToken.isEmpty()) { EZOpenSDK.getInstance().setAccessToken(mAccessToken); Log.d("EZToken", "AccessToken设置成功"); } else { Log.w("EZToken", "AccessToken缺失!"); } } catch (Exception e) { Log.e("EZSDK", "萤石SDK初始化失败", e); handleError("萤石SDK初始化失败: " + e.getMessage(), -1); } } private void initControlButtons() { // 云台控制按钮 findViewById(R.id.ptz_top_btn).setOnClickListener(v -> controlPTZ("UP")); findViewById(R.id.ptz_bottom_btn).setOnClickListener(v -> controlPTZ("DOWN")); findViewById(R.id.ptz_left_btn).setOnClickListener(v -> controlPTZ("LEFT")); findViewById(R.id.ptz_right_btn).setOnClickListener(v -> controlPTZ("RIGHT")); // 变焦控制 findViewById(R.id.focus_add).setOnClickListener(v -> controlZoom("ZOOM_IN")); findViewById(R.id.foucus_reduce).setOnClickListener(v -> controlZoom("ZOOM_OUT")); // 水平布局控制按钮 findViewById(R.id.ptz_top_btn2).setOnClickListener(v -> controlPTZ("UP")); findViewById(R.id.ptz_bottom_btn2).setOnClickListener(v -> controlPTZ("DOWN")); findViewById(R.id.ptz_left_btn2).setOnClickListener(v -> controlPTZ("LEFT")); findViewById(R.id.ptz_right_btn2).setOnClickListener(v -> controlPTZ("RIGHT")); // 添加萤石云特有功能按钮 // findViewById(R.id.btn_record).setOnClickListener(v -> startLocalRecord()); // findViewById(R.id.btn_stop_record).setOnClickListener(v -> stopLocalRecord()); // findViewById(R.id.btn_capture).setOnClickListener(v -> capturePicture()); Log.d("Controls", "控制按钮初始化完成"); } @Override public void surfaceCreated(SurfaceHolder holder) { Log.d("Surface", "Surface created"); // 获取播放地址并开始播放 new Thread(this::fetchPlaybackUrl).start(); } @Override public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { Log.d("Surface", "Surface changed: " + width + "x" + height); if (mExoPlayer != null) { mExoPlayer.setVideoSurfaceHolder(holder); } } @Override public void surfaceDestroyed(SurfaceHolder holder) { Log.d("Surface", "Surface destroyed"); stopPreview(); } // ======================== 播放地址获取与播放 ======================== private void fetchPlaybackUrl() { try { // 构建请求参数 JSONObject params = new JSONObject(); params.put("accessToken", mAccessToken); params.put("deviceSerial", mDeviceSerial); params.put("channelNo", mCameraNo); params.put("protocol", 2); // 使用HLS协议 if (mVerifyCode != null && !mVerifyCode.isEmpty()) { params.put("code", mVerifyCode); } params.put("expireTime", 7200); // 2小时有效期 // 创建请求体 RequestBody body = RequestBody.create( MediaType.parse("application/json"), params.toString() ); // 创建请求 Request request = new Request.Builder() .url("https://open.ys7.com/api/lapp/v2/live/address/get") .post(body) .build(); // 执行请求 try (Response response = mHttpClient.newCall(request).execute()) { if (!response.isSuccessful()) { handleError("获取播放地址失败: " + response.code(), response.code()); return; } // 解析响应 String responseBody = response.body().string(); JSONObject json = new JSONObject(responseBody); if ("200".equals(json.getString("code"))) { JSONObject data = json.getJSONObject("data"); mPlaybackUrl = data.getString("url"); Log.d("PlaybackURL", "获取到播放地址: " + mPlaybackUrl); // 在主线程初始化播放器 runOnUiThread(this::initExoPlayer); } else { handleError("API错误: " + json.getString("msg"), json.getInt("code")); } } } catch (JSONException | IOException e) { Log.e("FetchURL", "获取播放地址异常", e); handleError("获取播放地址异常: " + e.getMessage(), -1); } } private void initExoPlayer() { // 释放现有播放器 if (mExoPlayer != null) { mExoPlayer.release(); } // 使用正确的 Builder 创建播放器 mExoPlayer = new ExoPlayer.Builder(this).build(); mExoPlayer.addListener(mPlayerListener); // 设置视频渲染器 mExoPlayer.setVideoSurfaceHolder(mSurfaceHolder); // 创建媒体源 DataSource.Factory dataSourceFactory = new DefaultHttpDataSource.Factory(); MediaSource mediaSource = new HlsMediaSource.Factory(dataSourceFactory) .createMediaSource(MediaItem.fromUri(Uri.parse(mPlaybackUrl))); // 准备播放 mExoPlayer.setMediaSource(mediaSource); mExoPlayer.prepare(); mExoPlayer.setPlayWhenReady(true); mProgressBar.setVisibility(View.VISIBLE); Log.d("ExoPlayer", "播放器初始化完成,开始播放"); } // ======================== 萤石云控制方法 ======================== private int mapDirection(String direction) { switch (direction) { // case "UP": return EZCloudControl.DIRECTION_UP; // case "DOWN": return EZCloudControl.DIRECTION_DOWN; // case "LEFT": return EZCloudControl.DIRECTION_LEFT; // case "RIGHT": return EZCloudControl.DIRECTION_RIGHT; // case "ZOOM_IN": return EZCloudControl.DIRECTION_ZOOM_IN; // case "ZOOM_OUT": return EZCloudControl.DIRECTION_ZOOM_OUT; default: return -1; } } // 修改控制方法 private void controlPTZ(String direction) { int directionCode = mapDirection(direction); if (directionCode == -1) return; // 开始控制 // EZCloudControl.startPTZControl( // mAccessToken, // mDeviceSerial, // mCameraNo, // directionCode, // EZCloudControl.SPEED_MEDIUM, // 中等速度 // new EZCloudControl.ControlCallback() { // @Override // public void onSuccess(String response) { // Log.d("PTZControl", "开始云台控制成功: " + direction); // // // 300ms后停止控制 // new Handler(Looper.getMainLooper()).postDelayed(() -> { // stopPTZControl(directionCode); // }, 300); // } // // @Override // public void onFailure(String error) { // Log.e("PTZControl", "开始云台控制失败: " + error); // handleError("云台控制失败: " + error, -1); // } // }); } // private void stopPTZControl(int directionCode) { // EZCloudControl.stopPTZControl( // mAccessToken, // mDeviceSerial, // mCameraNo, // directionCode, // new EZCloudControl.ControlCallback() { // @Override // public void onSuccess(String response) { // Log.d("PTZControl", "停止云台控制成功"); // } // // @Override // public void onFailure(String error) { // Log.e("PTZControl", "停止云台控制失败: " + error); // // 可选择重试或其他处理 // } // }); // } private void controlZoom(String command) { String direction = "ZOOM_IN".equals(command) ? "ZOOM_IN" : "ZOOM_OUT"; controlPTZ(direction); } // ======================== 萤石云扩展功能 ======================== // 开始本地录像 private void startLocalRecord() { // 这里需要根据实际需求实现 Toast.makeText(this, "开始录像", Toast.LENGTH_SHORT).show(); } // 停止本地录像 private void stopLocalRecord() { // 这里需要根据实际需求实现 Toast.makeText(this, "停止录像", Toast.LENGTH_SHORT).show(); } // 截图 private void capturePicture() { // 这里需要根据实际需求实现 Toast.makeText(this, "截图已保存", Toast.LENGTH_SHORT).show(); } // ======================== 通用功能方法 ======================== public void changeScreen(View view) { changeScreen(); } private void changeScreen() { if (mControlLayout.getVisibility() == View.VISIBLE) { mControlLayout.setVisibility(View.GONE); } else { mControlLayout.setVisibility(View.VISIBLE); } } private void handleError(String message, int errorCode) { String fullMessage = message + " (错误码: " + errorCode + ")"; // 萤石云特有错误码处理 switch (errorCode) { case 400001: fullMessage = "AccessToken无效"; break; case 400002: fullMessage = "设备不存在"; break; case 400007: fullMessage = "设备不在线"; break; case 400034: fullMessage = "验证码错误"; break; case 400035: fullMessage = "设备已被自己添加"; break; case 400036: fullMessage = "设备已被别人添加"; break; default: fullMessage = "萤石云错误: " + errorCode; } new AlertDialog.Builder(this) .setTitle("预览失败") .setMessage(fullMessage) .setPositiveButton("确定", (d, w) -> finish()) .setCancelable(false) .show(); } private void showErrorAndFinish(String message) { Toast.makeText(this, message, Toast.LENGTH_LONG).show(); new Handler().postDelayed(this::finish, 3000); } private void stopPreview() { if (mExoPlayer != null) { mExoPlayer.release(); mExoPlayer = null; Log.d("Preview", "预览已停止"); } } @Override protected void onDestroy() { super.onDestroy(); stopPreview(); Log.d("Lifecycle", "onDestroy"); } @Override protected void onPause() { super.onPause(); if (mExoPlayer != null) { mExoPlayer.setPlayWhenReady(false); Log.d("Lifecycle", "暂停播放"); } } @Override protected void onResume() { super.onResume(); if (mExoPlayer != null) { mExoPlayer.setPlayWhenReady(true); Log.d("Lifecycle", "恢复播放"); } } @Override public void onBackPressed() { DrawerLayout drawer = findViewById(R.id.drawer_layout); if (drawer != null && drawer.isDrawerOpen(GravityCompat.START)) { drawer.closeDrawer(GravityCompat.START); } else { super.onBackPressed(); } } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_main_opt, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == R.id.action_1) { startActivity(new Intent(this, AddDevActivity.class)); return true; } return super.onOptionsItemSelected(item); } } 根据上述代码和依赖解决报错:Cannot resolve symbol 'media3',你给了我几次修改方案都没解决,怎么完整排查是什么问题
06-22
build.gradle(app):apply plugin: 'com.android.application' android { compileSdkVersion 28 defaultConfig { applicationId "com.hik.netsdk.SimpleDemo" minSdkVersion 15 targetSdkVersion 28 versionCode 11 versionName "3.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" vectorDrawables.useSupportLibrary = true multiDexEnabled true ndk { abiFilters "armeabi-v7a","arm64-v8a" } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } sourceSets { main { res.srcDirs = [ 'src/main/res', 'src/main/res/layout/DevMgtUI', 'src/main/res/layout/BusinessUI' ] jniLibs.srcDirs = ['libs'] } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } buildToolsVersion = '28.0.3' } dependencies { implementation files('libs/HCNetSDK.jar') implementation files('libs/PlayerSDK_hcnetsdk.jar') implementation fileTree(include: ['*.jar'], dir: 'libs') implementation 'com.squareup.okhttp3:okhttp:4.9.1' implementation 'androidx.appcompat:appcompat:1.4.1' implementation 'com.google.android.material:material:1.5.0' // 替代 design implementation 'androidx.constraintlayout:constraintlayout:2.1.3' implementation 'androidx.legacy:legacy-support-v4:1.0.0' // 替代 support-v4 testImplementation 'junit:junit:4.12' androidTestImplementation 'androidx.test:runner:1.4.0' androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' implementation 'io.github.ezviz-open:ezviz-sdk:5.20' // implementation 'com.ezviz:sdk:4.19.5' compile 'com.ezviz.sdk:ezuikit:2.2.1' implementation files('libs/PlayerSDK.jar') implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar']) implementation files('libs/ERTC_Android_SDK_1.5.0.1.aar') // 添加必要支持库 implementation 'com.squareup.okhttp3:okhttp:3.12.1' implementation 'com.google.code.gson:gson:2.8.5' // 海康SDK - 确保已添加 implementation files('libs/hikvision-sdk.jar') implementation "androidx.media3:media3-exoplayer:1.2.1" implementation "androidx.media3:media3-exoplayer-hls:1.2.1" implementation "androidx.media3:media3-ui:1.2.1" implementation "androidx.media3:media3-datasource-okhttp:1.2.1" } MainActivity:package com.hik.netsdk.SimpleDemo.View; import android.app.AlertDialog; import android.content.Intent; import android.graphics.PixelFormat; import android.net.Uri; import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.SurfaceHolder; import android.view.SurfaceView; import android.view.View; import android.widget.ImageButton; import android.widget.ProgressBar; import android.widget.RelativeLayout; import android.widget.Toast; import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.widget.Toolbar; import androidx.core.view.GravityCompat; import androidx.drawerlayout.widget.DrawerLayout; // AndroidX Media3 导入 import androidx.media3.common.MediaItem; import androidx.media3.common.PlaybackException; import androidx.media3.common.Player; import androidx.media3.datasource.DataSource; import androidx.media3.datasource.DefaultHttpDataSource; import androidx.media3.exoplayer.ExoPlayer; import androidx.media3.exoplayer.hls.HlsMediaSource; import androidx.media3.exoplayer.source.MediaSource; import com.hik.netsdk.SimpleDemo.R; import com.hik.netsdk.SimpleDemo.View.DevMgtUI.AddDevActivity; import com.videogo.openapi.EZConstants; import com.videogo.openapi.EZOpenSDK; import org.json.JSONException; import org.json.JSONObject; import java.io.IOException; import java.util.concurrent.TimeUnit; import okhttp3.MediaType; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.RequestBody; import okhttp3.Response; public class MainActivity extends AppCompatActivity implements SurfaceHolder.Callback { // 核心参数 private String mDeviceSerial; private String mVerifyCode; private int mCameraNo = 1; private boolean isEzDevice = false; // 萤石云相关参数 private String mAppKey = "a794d58c13154caeb7d2fbb5c3420c65"; private String mAccessToken = ""; // UI组件 private SurfaceView mPreviewSurface; private SurfaceHolder mSurfaceHolder; private Toolbar m_toolbar; private ProgressBar mProgressBar; private RelativeLayout mControlLayout; private ImageButton mRotateButton; // 播放器相关 private SimpleExoPlayer mExoPlayer; private String mPlaybackUrl; private final OkHttpClient mHttpClient = new OkHttpClient.Builder() .connectTimeout(15, TimeUnit.SECONDS) .readTimeout(15, TimeUnit.SECONDS) .build(); // 播放器状态监听器 private final Player.Listener mPlayerListener = new Player.Listener() { @Override public void onPlaybackStateChanged(int state) { switch (state) { case Player.STATE_READY: mProgressBar.setVisibility(View.GONE); Log.d("ExoPlayer", "播放准备就绪"); break; case Player.STATE_BUFFERING: mProgressBar.setVisibility(View.VISIBLE); Log.d("ExoPlayer", "缓冲中..."); break; case Player.STATE_ENDED: Log.d("ExoPlayer", "播放结束"); break; case Player.STATE_IDLE: Log.d("ExoPlayer", "空闲状态"); break; } } @Override public void onPlayerError(com.google.android.exoplayer2.PlaybackException error) { Log.e("ExoPlayer", "播放错误: " + error.getMessage()); handleError("播放错误: " + error.getMessage(), -1); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 初始化UI组件 initUIComponents(); // 获取启动参数 parseIntentParams(); // 初始化SDK initSDK(); // 参数校验 if (mDeviceSerial == null || mDeviceSerial.isEmpty()) { showErrorAndFinish("设备序列号不能为空"); return; } Log.d("MainActivity", "onCreate完成: isEzDevice=" + isEzDevice); } private void initUIComponents() { // 基础UI m_toolbar = findViewById(R.id.toolbar); setSupportActionBar(m_toolbar); // 预览相关UI mPreviewSurface = findViewById(R.id.realplay_sv); mSurfaceHolder = mPreviewSurface.getHolder(); mSurfaceHolder.addCallback(this); mSurfaceHolder.setFormat(PixelFormat.TRANSLUCENT); mProgressBar = findViewById(R.id.liveProgressBar); mControlLayout = findViewById(R.id.rl_control); mRotateButton = findViewById(R.id.ib_rotate2); // 设置旋转按钮点击事件 mRotateButton.setOnClickListener(v -> changeScreen()); // 隐藏管理UI DrawerLayout drawer = findViewById(R.id.drawer_layout); if (drawer != null) { drawer.setVisibility(View.GONE); } if (m_toolbar != null) { m_toolbar.setVisibility(View.GONE); } // 初始化控制按钮 initControlButtons(); Log.d("UI", "UI组件初始化完成"); } private void parseIntentParams() { // 获取Intent参数 Intent intent = getIntent(); isEzDevice = true; // 只支持萤石设备 mAccessToken = intent.getStringExtra("accessToken"); // 优先使用bundle Bundle bundle = intent.getExtras(); if (bundle != null) { mDeviceSerial = bundle.getString("devSn"); mVerifyCode = bundle.getString("verifyCode"); mCameraNo = bundle.getInt("cameraNo", 1); } // 兼容直接Extra方式 if (mDeviceSerial == null) mDeviceSerial = intent.getStringExtra("devSn"); if (mVerifyCode == null) mVerifyCode = intent.getStringExtra("verifyCode"); if (mCameraNo == 0) mCameraNo = intent.getIntExtra("cameraNo", 1); Log.d("Params", "设备序列号: " + mDeviceSerial + ", 通道号: " + mCameraNo); } private void initSDK() { try { // 使用反射检查初始化状态 boolean isInitialized = false; try { // 尝试获取实例 EZOpenSDK instance = EZOpenSDK.getInstance(); if (instance != null) { isInitialized = true; } } catch (Exception e) { // 捕获初始化的异常 isInitialized = false; } // 初始化时进行初始化 if (!isInitialized) { EZOpenSDK.initLib(getApplication(), mAppKey); Log.d("EZSDK", "萤石SDK初始化完成"); } // 设置AccessToken if (mAccessToken != null && !mAccessToken.isEmpty()) { EZOpenSDK.getInstance().setAccessToken(mAccessToken); Log.d("EZToken", "AccessToken设置成功"); } else { Log.w("EZToken", "AccessToken缺失!"); } } catch (Exception e) { Log.e("EZSDK", "萤石SDK初始化失败", e); handleError("萤石SDK初始化失败: " + e.getMessage(), -1); } } private void initControlButtons() { // 云台控制按钮 findViewById(R.id.ptz_top_btn).setOnClickListener(v -> controlPTZ("UP")); findViewById(R.id.ptz_bottom_btn).setOnClickListener(v -> controlPTZ("DOWN")); findViewById(R.id.ptz_left_btn).setOnClickListener(v -> controlPTZ("LEFT")); findViewById(R.id.ptz_right_btn).setOnClickListener(v -> controlPTZ("RIGHT")); // 变焦控制 findViewById(R.id.focus_add).setOnClickListener(v -> controlZoom("ZOOM_IN")); findViewById(R.id.foucus_reduce).setOnClickListener(v -> controlZoom("ZOOM_OUT")); // 水平布局控制按钮 findViewById(R.id.ptz_top_btn2).setOnClickListener(v -> controlPTZ("UP")); findViewById(R.id.ptz_bottom_btn2).setOnClickListener(v -> controlPTZ("DOWN")); findViewById(R.id.ptz_left_btn2).setOnClickListener(v -> controlPTZ("LEFT")); findViewById(R.id.ptz_right_btn2).setOnClickListener(v -> controlPTZ("RIGHT")); // 添加萤石云特有功能按钮 // findViewById(R.id.btn_record).setOnClickListener(v -> startLocalRecord()); // findViewById(R.id.btn_stop_record).setOnClickListener(v -> stopLocalRecord()); // findViewById(R.id.btn_capture).setOnClickListener(v -> capturePicture()); Log.d("Controls", "控制按钮初始化完成"); } @Override public void surfaceCreated(SurfaceHolder holder) { Log.d("Surface", "Surface created"); // 获取播放地址并开始播放 new Thread(this::fetchPlaybackUrl).start(); } @Override public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { Log.d("Surface", "Surface changed: " + width + "x" + height); if (mExoPlayer != null) { mExoPlayer.setVideoSurfaceHolder(holder); } } @Override public void surfaceDestroyed(SurfaceHolder holder) { Log.d("Surface", "Surface destroyed"); stopPreview(); } // ======================== 播放地址获取与播放 ======================== private void fetchPlaybackUrl() { try { // 构建请求参数 JSONObject params = new JSONObject(); params.put("accessToken", mAccessToken); params.put("deviceSerial", mDeviceSerial); params.put("channelNo", mCameraNo); params.put("protocol", 2); // 使用HLS协议 if (mVerifyCode != null && !mVerifyCode.isEmpty()) { params.put("code", mVerifyCode); } params.put("expireTime", 7200); // 2小时有效期 // 创建请求体 RequestBody body = RequestBody.create( MediaType.parse("application/json"), params.toString() ); // 创建请求 Request request = new Request.Builder() .url("https://open.ys7.com/api/lapp/v2/live/address/get") .post(body) .build(); // 执行请求 try (Response response = mHttpClient.newCall(request).execute()) { if (!response.isSuccessful()) { handleError("获取播放地址失败: " + response.code(), response.code()); return; } // 解析响应 String responseBody = response.body().string(); JSONObject json = new JSONObject(responseBody); if ("200".equals(json.getString("code"))) { JSONObject data = json.getJSONObject("data"); mPlaybackUrl = data.getString("url"); Log.d("PlaybackURL", "获取到播放地址: " + mPlaybackUrl); // 在主线程初始化播放器 runOnUiThread(this::initExoPlayer); } else { handleError("API错误: " + json.getString("msg"), json.getInt("code")); } } } catch (JSONException | IOException e) { Log.e("FetchURL", "获取播放地址异常", e); handleError("获取播放地址异常: " + e.getMessage(), -1); } } private void initExoPlayer() { // 释放现有播放器 if (mExoPlayer != null) { mExoPlayer.release(); } // 创建新的播放器实例 mExoPlayer = new SimpleExoPlayer.Builder(this).build(); mExoPlayer.addListener(mPlayerListener); mExoPlayer.setVideoSurfaceHolder(mSurfaceHolder); // 创建媒体源 DataSource.Factory dataSourceFactory = new DefaultHttpDataSource.Factory(); MediaSource mediaSource = new HlsMediaSource.Factory(dataSourceFactory) .createMediaSource(MediaItem.fromUri(Uri.parse(mPlaybackUrl))); // 准备播放 mExoPlayer.setMediaSource(mediaSource); mExoPlayer.prepare(); mExoPlayer.setPlayWhenReady(true); mProgressBar.setVisibility(View.VISIBLE); Log.d("ExoPlayer", "播放器初始化完成,开始播放"); } // ======================== 萤石云控制方法 ======================== private int mapDirection(String direction) { switch (direction) { // case "UP": return EZCloudControl.DIRECTION_UP; // case "DOWN": return EZCloudControl.DIRECTION_DOWN; // case "LEFT": return EZCloudControl.DIRECTION_LEFT; // case "RIGHT": return EZCloudControl.DIRECTION_RIGHT; // case "ZOOM_IN": return EZCloudControl.DIRECTION_ZOOM_IN; // case "ZOOM_OUT": return EZCloudControl.DIRECTION_ZOOM_OUT; default: return -1; } } // 修改控制方法 private void controlPTZ(String direction) { int directionCode = mapDirection(direction); if (directionCode == -1) return; // 开始控制 // EZCloudControl.startPTZControl( // mAccessToken, // mDeviceSerial, // mCameraNo, // directionCode, // EZCloudControl.SPEED_MEDIUM, // 中等速度 // new EZCloudControl.ControlCallback() { // @Override // public void onSuccess(String response) { // Log.d("PTZControl", "开始云台控制成功: " + direction); // // // 300ms后停止控制 // new Handler(Looper.getMainLooper()).postDelayed(() -> { // stopPTZControl(directionCode); // }, 300); // } // // @Override // public void onFailure(String error) { // Log.e("PTZControl", "开始云台控制失败: " + error); // handleError("云台控制失败: " + error, -1); // } // }); } // private void stopPTZControl(int directionCode) { // EZCloudControl.stopPTZControl( // mAccessToken, // mDeviceSerial, // mCameraNo, // directionCode, // new EZCloudControl.ControlCallback() { // @Override // public void onSuccess(String response) { // Log.d("PTZControl", "停止云台控制成功"); // } // // @Override // public void onFailure(String error) { // Log.e("PTZControl", "停止云台控制失败: " + error); // // 可选择重试或其他处理 // } // }); // } private void controlZoom(String command) { String direction = "ZOOM_IN".equals(command) ? "ZOOM_IN" : "ZOOM_OUT"; controlPTZ(direction); } // ======================== 萤石云扩展功能 ======================== // 开始本地录像 private void startLocalRecord() { // 这里需要根据实际需求实现 Toast.makeText(this, "开始录像", Toast.LENGTH_SHORT).show(); } // 停止本地录像 private void stopLocalRecord() { // 这里需要根据实际需求实现 Toast.makeText(this, "停止录像", Toast.LENGTH_SHORT).show(); } // 截图 private void capturePicture() { // 这里需要根据实际需求实现 Toast.makeText(this, "截图已保存", Toast.LENGTH_SHORT).show(); } // ======================== 通用功能方法 ======================== public void changeScreen(View view) { changeScreen(); } private void changeScreen() { if (mControlLayout.getVisibility() == View.VISIBLE) { mControlLayout.setVisibility(View.GONE); } else { mControlLayout.setVisibility(View.VISIBLE); } } private void handleError(String message, int errorCode) { String fullMessage = message + " (错误码: " + errorCode + ")"; // 萤石云特有错误码处理 switch (errorCode) { case 400001: fullMessage = "AccessToken无效"; break; case 400002: fullMessage = "设备不存在"; break; case 400007: fullMessage = "设备不在线"; break; case 400034: fullMessage = "验证码错误"; break; case 400035: fullMessage = "设备已被自己添加"; break; case 400036: fullMessage = "设备已被别人添加"; break; default: fullMessage = "萤石云错误: " + errorCode; } new AlertDialog.Builder(this) .setTitle("预览失败") .setMessage(fullMessage) .setPositiveButton("确定", (d, w) -> finish()) .setCancelable(false) .show(); } private void showErrorAndFinish(String message) { Toast.makeText(this, message, Toast.LENGTH_LONG).show(); new Handler().postDelayed(this::finish, 3000); } private void stopPreview() { if (mExoPlayer != null) { mExoPlayer.release(); mExoPlayer = null; Log.d("Preview", "预览已停止"); } } @Override protected void onDestroy() { super.onDestroy(); stopPreview(); Log.d("Lifecycle", "onDestroy"); } @Override protected void onPause() { super.onPause(); if (mExoPlayer != null) { mExoPlayer.setPlayWhenReady(false); Log.d("Lifecycle", "暂停播放"); } } @Override protected void onResume() { super.onResume(); if (mExoPlayer != null) { mExoPlayer.setPlayWhenReady(true); Log.d("Lifecycle", "恢复播放"); } } @Override public void onBackPressed() { DrawerLayout drawer = findViewById(R.id.drawer_layout); if (drawer != null && drawer.isDrawerOpen(GravityCompat.START)) { drawer.closeDrawer(GravityCompat.START); } else { super.onBackPressed(); } } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_main_opt, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == R.id.action_1) { startActivity(new Intent(this, AddDevActivity.class)); return true; } return super.onOptionsItemSelected(item); } } 依据上述依赖和代码解决报错:Cannot resolve symbol 'media3'(报错8次)
06-23
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值